具有多个数据库连接的Codeigniter查询分析器

时间:2012-04-18 06:35:10

标签: php codeigniter

我正在使用codeigniter 2.0 ++或特别是3.0-dev。问题是我有多个数据库连接,而探查器只显示默认连接$this->db的查询。

class table_m extends CI_Model
{

    function __construct()
    {
        parent :: __construct(); 
        $this->db2 = $this->load->database('production', TRUE);
    }

    function sel_pameran($ukmper=NULL)
    {
        $sql = "SELECT * from table1";

        $query = $this->db2->query($sql);
        return $query->result();
    }
}

此查询不会显示在探查器中,因为它使用$this->db2。那么如何使分析器显示每个执行的查询,与哪个数据库无关?

2 个答案:

答案 0 :(得分:4)

看到这个问题。这是一个更简单的解决方案How can I display my database queries in the Codeigniter Profiler when I load my databases in my models?

只需将数据库存储到主CI类,分析器就可以访问它们。

function __construct()
{

    parent::__construct();

    $CI =& get_instance();
    if( is_null( $CI->Companies_db ) )
        $CI->Companies_db =& $this->load->database( 'companies', TRUE, TRUE );          

}

答案 1 :(得分:1)

我有类似的问题。我使用的是本地mysql数据库,还访问了远程Oracle数据库。 Oracle查询未在分析器中显示。

这篇文章帮助我解决了这个问题:

http://www.gotphp.com/codeigniter-multiple-database-support/5468/