我正在使用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
。那么,如何使探查器显示执行的每个查询,而与哪个数据库无关紧要?
看到这个问题。 这是一个更简单的解决方案。在模型中加载数据库时,如何在 Codeigniter 分析器中显示数据库查询?
只需将数据库存储到主 CI 类,探查器即可访问它们。
function __construct()
{
parent::__construct();
$CI =& get_instance();
if( is_null( $CI->Companies_db ) )
$CI->Companies_db =& $this->load->database( 'companies', TRUE, TRUE );
}
我也有类似的问题。我正在使用本地mysql数据库,并且还访问了远程Oracle数据库。探查器中未显示 Oracle 查询。
这篇文章帮助我解决了这个问题:
http://www.gotphp.com/codeigniter-multiple-database-support/5468/