残翅 发表于 2010-1-29 13:21:00

回复 10# baiyuxiong


    function get_all_list($array,$order,$table){
                $this->db_invest->where($array);
                foreach($order as $key=>$value){
                        $this->db_invest->order_by($key,$value);
                }
                $query = $this->db_invest->get($table);
                return $query->result_array();
      }
你看,我就是这么用的

baiyuxiong 发表于 2010-1-29 13:43:20

回复baiyuxiong


    function get_all_list($array,$order,$table){
                $this->db_inves ...
残翅 发表于 2010-1-29 13:21 http://codeigniter.org.cn/forums/images/common/back.gif


我觉得你应该试试这样:

//这样:
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
$DB1->query();
$DB1->result();

/*不是这样:
$this->db_invest = $this->load->database('default',TRUE);
$this->db_register = $this->load->database('db_2',TRUE);
$this->db_invest->query();
$this->db_invest->result();*/

残翅 发表于 2010-1-29 13:57:53

本帖最后由 残翅 于 2010-1-29 13:59 编辑

我觉得你应该试试这样:
baiyuxiong 发表于 2010-1-29 13:43 http://codeigniter.org.cn/forums/images/common/back.gif


    很感谢你的回复,呵呵,我等下按照你说的去新建一个模型测试下。因为这样做的话可能要在模型的每个方法里都定义一下了。不过我感觉你说的和我原来的定义成员变量应该是一样的,呵呵。
目前暂时找到了一种解决方法,如下:
另外创建了一个模型'mdb2',因为在控制器里这样写:

$this->load->model('mhome');
$this->load->model('mdb2');

后面mhome里面的函数数据库也会默认mdb2里的数据库,所以我在控制器把上面两句代码分开,即:
$this->load->model('mhome');
执行mhome里的函数
$this->load->model('mdb2');
执行mdb2里的函数

这样就可以了

YangSir 发表于 2013-12-18 19:36:45

今天追了一下午。实在是没核查到问题。从连接句柄到执行时的数据库连接句柄都进行了核实。一直没核查到错误。最后实在是不行了开始怀疑驱动问题!!!

问题解决:
    修改 database.php 更改 dbdriver 从mysql => mysqli 。问题解决

从现象上来看,始终是没问题,从DEBUG的信息来跟踪看,所有的链接句柄也是OK的。但...就是出错。
总体看来就是 mysql的驱动问题了。
页: 1 [2]
查看完整版本: 多个数据库问题