用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1751|回复: 4
收起左侧

[数据库] 数据库切换

[复制链接]
发表于 2018-10-8 10:10:41 | 显示全部楼层 |阅读模式
在autoload.php中开启了数据库$autoload['libraries'] = array('database');
那在控制器或者函数中,执行$this->load->database("xxxx")后,如何可以直接覆盖之前的数据库连接,
而使$this->load->database("xxxx")之后依然直接使用$this->db来进行数据库工作,
使切换或者不切换数据的查询等代码不需要进行修改,就能直接使用
发表于 2018-10-8 10:33:45 | 显示全部楼层
连接不同数据库请参考这里 http://codeigniter.org.cn/user_guide/database/connecting.html#id6 请按照 CI 支持的方式写,其它方式都是不可以的。
 楼主| 发表于 2018-10-8 14:04:40 | 显示全部楼层
Hex 发表于 2018-10-8 10:33
连接不同数据库请参考这里 http://codeigniter.org.cn/user_guide/database/connecting.html#id6 请按照 CI ...

两个数据库,在不同服务器上.网站在进行这两个数据库切换时,
是否只能如下方式:
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
而无法使用类型$this->db->db_select($database2_name);的方式直接切换,而达到使用$this->db的方式来执行数据库命令

 楼主| 发表于 2018-10-8 14:04:48 | 显示全部楼层
Hex 发表于 2018-10-8 10:33
连接不同数据库请参考这里 http://codeigniter.org.cn/user_guide/database/connecting.html#id6 请按照 CI ...

两个数据库,在不同服务器上.网站在进行这两个数据库切换时,
是否只能如下方式:
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
而无法使用类型$this->db->db_select($database2_name);的方式直接切换,而达到使用$this->db的方式来执行数据库命令

发表于 2018-10-8 14:46:39 | 显示全部楼层
kao10324 发表于 2018-10-8 14:04
两个数据库,在不同服务器上.网站在进行这两个数据库切换时,
是否只能如下方式:
$DB1 = $this->load->data ...

是的,只有手册写的方式可以,其它方式都不可以。CI 的所有使用方式必须都以手册为准。

本版积分规则