database.php設定ファイルで定義されていないDBに接続する必要があります。Codeigniterが未定義のデータベースに動的に変更します
可能なデータベースが200を超えるため、定義されていません。
クライアントテーブルをループして、現在使用されているデータベースを決定するクライアントコードを取得します。
は、私はこのようなループ内の文字列でDB名を生成します。このことから
$db_name = "db_".$row['code'];
、私は、DBのテーブルをループがこのDBかどうかをチェックするためにする新しいDBに接続する必要がありますマスターDBは同期しています。
私は、次のコードを試してみましたが、動作していないよう:
$this -> db -> database = $db_name;
と私はまた、このような設定で空白の接続を定義しようとしました:
$db['temp'] = $db['default'];
$db['temp']['database'] = "";
、その後変更
$this -> db -> database = $db_name;
機能で生成されたDB名に機能しましたが機能しませんでした。
これがすべて可能かどうかはわかりませんが、これはDB接続を切り替える方法のすべてです。
代替提案がある場合は、お知らせください。
ありがとうあなたがCodeIgniter Documentationで見つかったかもしれないデータベースのswitchingは、おそらく大きく設定ファイルを膨満感なしに情報を取得するだけで、賢明な方法です事前
Thanx!この関数が行うことは、テーブルとそのフィールドをループして、テーブルが最新であることを確認することです。だから私は一度に1つのDBにしか接続されませんが、手動で各DBに接続する方法はありませんので、ループ内でこれを実行したいのです –
これは実際には完全に機能しましたが、 '$ client_db - > dbforge - > drop_table()'と '$ client_db - > drop_table()'は動作していないようです。 –
'dbforge'ライブラリを別途ロードする必要があります。それはドキュメントに示唆されているように見える 'load-> database'です。それから '$ this-> dbforge-> drop_table( 'name');' - 答えで編集します:) – MackieeE