我對codeigniter很新,但處理有關多個數據庫的問題。這些數據庫位於同一主機上。Codeigniter,調用多個數據庫的
我已經改變了database.php中的文件,從「默認」新組預留有一個額外的組被稱爲「社會」
$active_group = 'default';
$active_group = 'social';
$active_record = TRUE;
$db['default']['hostname'] = 'xxxx';
$db['default']['username'] = 'xxx';
$db['default']['password'] = 'xxxx';
$db['default']['database'] = 'mysql';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
$db['social']['hostname'] = 'xxx';
$db['social']['username'] = 'xxx';
$db['social']['password'] = 'xxx';
$db['social']['database'] = 'social';
$db['social']['dbdriver'] = 'mysqli';
$db['social']['dbprefix'] = '';
$db['social']['pconnect'] = TRUE;
$db['social']['db_debug'] = FALSE;
$db['social']['cache_on'] = FALSE;
$db['social']['cachedir'] = '';
$db['social']['char_set'] = 'utf8';
$db['social']['dbcollat'] = 'utf8_general_ci';
$db['social']['swap_pre'] = '';
$db['social']['autoinit'] = TRUE;
$db['social']['stricton'] = FALSE;
現在,在我的代碼調用DBS
public function __construct()
{
$dbgroup = !file_exists(".git") ? "default" : "development";
$this->_time = microtime(true);
$this->_db =& DB($dbgroup);
$dbgroup = "social";
$this->_time = microtime(true);
$this->_dbs =& DB($dbgroup);
我做錯了什麼,爲什麼我不能使用_dbs從第二個數據庫獲取數據?請記住......在這裏完全編碼新手!這不是我的日常工作:)
更新! 按照stackoverflow.com/a/8269596中所述嘗試調用此函數中的db,但仍然無法使其工作。
public function getUsers($userid = NULL)
{
if (empty($userid)) {
$rs = $this->load->database('social', TRUE);
->select("id, username")
->from("user")
->get();
$userid = $rs->result();
return $userid;
}
elseif (isset($userid)) {
$rs = $this->load->database('social', TRUE);
->select("id, username")
->from("user")
->where('id', $userid)
->get();
$userid = $rs->result();
return $userid;
}
}
哪個笨版本您使用的? – MonkeyZeus
我正在使用V. 2.1.3 –
我建議看看http://stackoverflow.com/a/8269596,特別是這行'$ otherdb = $ this-> load-> database('otherdb',TRUE);' – MonkeyZeus