3

codeigniter では、2 人の MySQL ユーザーを含む 1 つのデータベースを使用していますが、codeigniter の 1 つのデータベースで 2 人の MySQL ユーザーを使用できるかどうかを知りたい.

4

2 に答える 2

2

はい、できます!異なるユーザー名/パスワードを使用して、同じ DB への 2 つのデータベース接続を使用してください。

http://ellislab.com/codeigniter/user-guide/database/connecting.html

于 2013-10-06T09:16:30.027 に答える
2

データベース パラメータの 2 番目のセットを定義する必要があります。CI は実際には 2 つの DB 接続を持つようには開発されていませんが、テスト データベースと運用データベースを交換するためのものです。それにはいくつかのトリックがあると言いました。したがって、最初に次のように 2 番目の DB 情報のセットを定義します。

/* FORUM */
$active_group = "forum";
$active_record = TRUE;

$db['forum']['hostname'] = "xxxxx";
$db['forum']['username'] = "xxxxx";
$db['forum']['password'] = "xxxxx";
$db['forum']['database'] = "xxxxx";
$db['forum']['dbdriver'] = "mysql";
$db['forum']['dbprefix'] = "";
$db['forum']['pconnect'] = TRUE;
$db['forum']['db_debug'] = TRUE;
$db['forum']['cache_on'] = FALSE;
$db['forum']['cachedir'] = "";
$db['forum']['char_set'] = "utf8";
$db['forum']['dbcollat'] = "utf8_general_ci";

/* TEST SITE */
$active_group = "default";
$active_record = TRUE;

$db['default']['hostname'] = "xxxxx";
$db['default']['username'] = "xxxxx";
$db['default']['password'] = "xxxxx";
$db['default']['database'] = "xxxxx";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci"; 

アクティブなデータベースは、最後に定義したデータベースになります。

これが完了したら、手動で 2 番目のものに接続できます (または、常に必要な場合は MY_Controller に配置します)。次に、次のように 2 番目のデータベースをロードできます。

$this->other_db= $this->CI->load->database('forum', TRUE); 

でdbase 1にアクセスし$this->db、dbase 2に$this->other_db(またはあなたがそれを呼んだものは何でも)アクセスします。

ありがとうございました

それはそれを行う必要があります。複数のデータベースへの接続に関するドキュメントは、http: //ellislab.com/codeigniter/database/connecting.htmlにあります。

于 2013-10-06T20:41:11.553 に答える