我在数据库配置文件中设置了两个不同的连接。一旦我连接到数据库之一,如果我连接到第二个数据库仍然连接不会更改。我找不到表错误。
$this->load->database(); //connecting to default db
$this->db->query('SELECT * from user'); //user table in default db and no error
$this->load->database('second_db');//connecting to second db
$this->db->load('SELECT * from statistic'); //table exists in second db but getting error
//The same work if I comment the first two lines
答案 0 :(得分:1)
你可以这样试试:
$this->load->database('second_db', TRUE);
并在database.php中为'pconnect'设置FALSE: 默认为:
$db['default']['pconnect'] = FALSE;
和第二个:
$db['second_db']['pconnect'] = FALSE;
答案 1 :(得分:1)
我自己做了。
$this->load->database(); //connecting to default db
$this->db->query('SELECT * from user'); //user table in default db and no error
$this->load->database('second_db',FALSE,TRUE);//connecting to second db
$this->db->load('SELECT * from statistic'); //table exists in second db but getting error
//The same work if I comment the first two lines
唯一的变化是加载第二个数据库时需要传递两个额外的参数。 第一个FALSE - 不返回连接对象 第二个TRUE - 将活动记录更改为加载的数据库
答案 2 :(得分:0)
如果您使用
$this->load->database('second_db', TRUE);
你必须使用像
$db = $this->load->database('second_db', TRUE);
因为第二个参数true返回完整对象 现在$ db是您的db对象,您可以将$ db分配给类变量
$this->second_db = $this->load->database('second_db', TRUE);
$this->second_db->query();
答案 3 :(得分:0)
最后使用 Codeigniter 2.1.0 :
为我工作$second_db = $this->load->database('second_group',TRUE,FALSE);
使组永久设置'pconnect'为:
$db['second_group']['pconnect'] = FALSE;