この記事では主に DISCUZ ユーザーを PHP に統合する方法を紹介します。興味のある方はぜひ参考にしてください。
数日前、1 つのユーザー レベルは約 120,000 で、もう 1 つは 18,000 で、10,080 のユーザーは破棄されたはずです。 。新規ユーザー登録時に8つのテーブルにレコードが追加されており、他のテーブルがレコードを変更する可能性があるかどうかを確認していませんでした。そのとき、ちょっとテーブルの整理ができないと思って探したところ、discuzというツールを見つけましたが、10万件以内しかインポートできないので、悩んだ末に自分で試してみることにしました。レコードに関しては、ユーザーの操作中に他のテーブルが関連するデータを自動的に完成させる可能性があるため、元の 18,000 ユーザーをエクスポートしてから、PHP スクリプトを直接記述するようにしました。アンセンターには18,000人のユーザーが入り、内外のメンバーが集まります。テストしましたが、問題ありませんでした。残念ながら、ユーザー ポイントなどは失効しておらず、ユーザーのユーザー名とパスワードのみが保持されています。
主要な手順:
1. 使用しないシステムの uncenter メンバー データベースを 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 class="brush:php;toolbar:false">OK:$oknum <br>errornum:$errnum <br> error:<br>"; print_r($arrayerr); mysql_close($link);
UC 統合の使用方法を見てみましょう
ucenter とメンバーシップに取り組んできました過去 2 日間で 2 つの discuz のシステムが完成しました。統合後の機能は次のとおりです。 // 実装方法は次のとおりです。
## 2 つの discuz システムは同じメンバーシップ システムを共有します。 //ソリューションは後部にあります。最初に ucenter を完全にインストールします。まず、ucenter を入力し、アプリケーションを追加します:
クリックしてインストール: 次のステップに進みます#クリックが表示されます。インストールを続行するには、上記の問題を解決する必要があります。
UCenter の IP アドレスの入力に戻ってください。何も問題がなければ、次のステップに進みます。
ucenter の統合が完了しました。同時にログインできます。同時に終了する必要があります。
$_config['db']['1']['tablepre'] = chuzi_'
に$_config['db']['2'][ を追加します。 'tablepre'] = it__
2 番目のサブシステムは、source\class\db ファイルの下にある db_driver_mysql.php を開きます ;34 行目$this->tablepre = $config['1']['tablepre'];以下に追加 $this->tableprechu = $ config['2']['tablepre'];
112行目 return $this->tablepre.$tablename;次のように変更します
if(preg_match("/^common_member(.*)/i",$tablename)|| preg_match("/^home(.*)/i",$tablename) || in_array($tablename, array('common_credit_rule_log'))) { return $this->tableprechu .$tablename; //tableprechu与上面修改对应就行; }else{ return $this->tablepre.$tablename; }
概要: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。
関連する推奨事項:
複数テーブルのクエリとページング関数を実装するための PHP メソッドを考える
PHP 実装の取得月、今月、過去 15 日、過去 30 日のメソッド
PHP は preg_split とexplode を使用して、コンテンツを保存するテキストエリアの分割を実装します
以上がDISCUZ ユーザーを統合するための PHP メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。