這篇文章主要介紹了PHP合并discuz用戶腳本的方法,分析了合并discuz用戶數據庫的方法與相關實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了PHP合并discuz用戶腳本的方法。分享給大家供大家參考。具體如下:
前幾天遇到一個需要將兩個discuz合并的項目,一個用戶級別在12萬左右,一個是1萬8.不用說肯定是扔了1萬8的,留下12萬的。開始覺得不好處理,數據表都是關聯,新注冊一個用戶,有8個表增加記錄了,還沒看有沒有其他表有修改記錄的可能性。當時覺得一時半會兒也理不清那些表,就搜索了一下,搜到了discuz tool.但是只能導10萬以內的,于是就只能自己嘗試了,后來考慮,我直接在關鍵表插入一條記錄如何,其他表在用戶操作的過程中沒準就自動補齊的相關數據了,于是就試著導出原來的1萬8用戶,然后寫了個PHP腳本直接將這1萬8用戶寫入的uncenter的memeber表里。測試了一下還OK。遺憾的是用戶積分啥的都沒過去,只是保留了用戶的用戶名和密碼。
關鍵步驟:
1.導出打算不要的那個系統的uncenter member數據庫成sql文件。
2.運行腳本。
聲明:本腳本只提供思路,請使用前提前備份好數據,如數據丟失與作者無關。(代碼簡單,勿噴)
- set_time_limit(0);
- $link = mysql_connect('localhost', 'ngjc', 'ohFt6yhHYvt5')
- or die('Could not connect: ' . mysql_error());
- echo 'Connected successfully';
- mysql_select_db('ngjc') or die('Could not select database');
- require "sql.php";//此處換成導出的sql文件
- $arrayerr=array();
- $oknum=0;
- $errnum=0;
- mysql_query("SET NAMES utf8");
- foreach($sqlarr as $sql)
- {
- if(!mysql_query($sql))
- {
- $arrayerr[]=$sql;$errnum++;
- }
- else
- {
- $oknum++;
- }
- }
- echo "<pre>OK:$oknum <br>errornum:$errnum <br> error:<br>";
- print_r($arrayerr);
- mysql_close($link);
希望本文所述對大家的php程序設計有所幫助。
新聞熱點
疑難解答