目前我的模型中没有这个代码:
$this->db_site->order_by('id', 'random');
$select = $this->db_site->get_where('berichten', array('beantwoord' => 0, 'gelezen' => 0));
$this->db->join('replymessages', 'replymessages.msgid != berichten.id');
$this->db->join('replymessages', 'replymessages.time < '.time());
在这个例子中,连接不能用于db_site查询,是否存在从其他数据库进行连接的方法?
答案 0 :(得分:2)
没有内置的方法来加入我恐怕没有。如果数据库位于同一数据库实例中,并且您可以授予用户对两个数据库的访问权限,则可以通过在表上添加数据库名称前缀来加入,即database1.table1。
另一种方法是使用in-php only解决方案来连接数据。
答案 1 :(得分:1)
在/config/database.php
为数据库连接创建一组新的配置
$db['seconddb']['hostname'] = 'localhost';
$db['seconddb']['username'] = 'krish';
$db['seconddb']['password'] = 'pass';
$db['seconddb']['database'] = 'oOoOoO';
$db['seconddb']['dbdriver'] = 'mysql';
$db['seconddb']['dbprefix'] = '';
$db['seconddb']['pconnect'] = TRUE;
$db['seconddb']['db_debug'] = TRUE;
$db['seconddb']['cache_on'] = FALSE;
$db['seconddb']['cachedir'] = '';
$db['seconddb']['char_set'] = 'utf8';
$db['seconddb']['dbcollat'] = 'utf8_general_ci';
$db['seconddb']['swap_pre'] = '';
$db['seconddb']['autoinit'] = TRUE;
$db['seconddb']['stricton'] = FALSE;
加载数据库
$this->load->database('seconddb');
连接多个数据库
$db1 = $this->load->database('default', TRUE);
$db2 = $this->load->database('seconddb', TRUE);
并且语法会为活动记录更改lil位。
而不是
$this->db->query();
你应该使用
$db1->query();
和
$db2->query();
所以,只需根据需要编辑您的查询。