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

[HELP] 关于在同一个数据库连接中切换数据库的问题

[复制链接]
发表于 2012-1-9 16:44:59 | 显示全部楼层 |阅读模式
在开发中遇到一个问题:在一个应用中我需要用到两个库,不是主从,就比如user库和news库吧


如果是php的话是这样的逻辑:

mysql_connect();
mysql_select_db('user');
query.......
mysql_select_db('news');
query.....
mysql_close();



如果是ci的话就是配置两组数据库配置,然后
$this->load->database('user', TRUE);
query........
$this->load->database('news', TRUE);
query.....


问题在于:两个库都在一台服务器上,ip、用户名、密码都是一样的,ci的这种切换的方法会导致重复认证吗?
我看了手册没有类似第一种的解决办法,麻烦大虾告知一下应该怎样做,谢谢
发表于 2012-1-10 09:53:37 | 显示全部楼层
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
这样就可以连两个库吧
如果你的两个是在同一台服务器上,只要数据库名字不一样就可以的,
$this->DB1;
$this->DB2;
 楼主| 发表于 2012-1-10 10:12:07 | 显示全部楼层
ggh_handan 发表于 2012-1-10 09:53
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
...

嗯,这样的确是可以连连两个库,但是第二次也会做用户名密码的验证吧,个人觉得这样会造成浪费,故有此问。想知道ci中有没有类似mysql_select_db()这样直接切换库的方法
发表于 2012-1-10 10:44:36 | 显示全部楼层
哦,原是个意思!没这么用过,估计要改动CI的DB了吧

本版积分规则