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

[HELP] CI 跨库链表操作,当两个库属于不同用户时被denied,求破

[复制链接]
发表于 2013-8-2 10:22:37 | 显示全部楼层 |阅读模式
$this->db = $this->load->database('deal',TRUE);
$this->account = $this->load->database('countdb',TRUE);
$this->db->from("chrdeal d");
$this->db->join($this->account->database.'.accountinfo a','d.olduid = a.userid','left');
报错如下
SELECT command denied to user 'xxx'@'ip地址' for table 'tb_spk_accountinfo'
此处tb_spk_accountinfo表属于数据库countdb
两表有可能不在同一ip下

发表于 2013-8-2 11:20:17 | 显示全部楼层
能用php做的就不要用sql做啦,性能差别很大的。

建议用一个function先取出数据,再将数据传到另一个function进行另一步的操作。
 楼主| 发表于 2013-8-2 12:04:36 | 显示全部楼层
dren_a 发表于 2013-8-2 11:20
能用php做的就不要用sql做啦,性能差别很大的。

建议用一个function先取出数据,再将数据传到另一个functi ...

感谢回答,现在只能这么做了,看来想省事也没那么容易。
发表于 2014-4-27 14:36:25 | 显示全部楼层


当你使用这种方法,你将用对象名来执行操作命令而不是用户向导模式,也就是说,你将用以下方式执行数据库操作:

$DB1->query();
$DB1->result();
etc...

而不是:

$this->db->query();
$this->db->result();
etc...


译注:要连接多个数据库请先设置 config/database.php 中的 $db['xxxxxx']['pconnect'] = FALSE; 这是 mysql_pconnect() 造成的问题,和 CI 无关。

参考链接:
http://codeigniter.org.cn/user_guide/database/connecting.html
http://codeigniter.org.cn/forums/thread-4362-1-1.html

本版积分规则