Php Codeigniter-检查是否已配置数据库连接
我已将codeigniter配置为使用多个数据库。对于某些客户,我们需要查询其他数据库,因此这是一个问题:Php Codeigniter-检查是否已配置数据库连接,php,codeigniter,Php,Codeigniter,我已将codeigniter配置为使用多个数据库。对于某些客户,我们需要查询其他数据库,因此这是一个问题: if( isConfigured(database) ) foo(); 然而,无论数据库是否在databases.php中配置,我所做的尝试要么给出了相同的结果,要么抛出了一个错误 我尝试了以下几点: if( $this->load->database('optional') == FALSE ) 这会引发错误您指定的数据库连接组无效 try( $this->
if( isConfigured(database) )
foo();
然而,无论数据库是否在databases.php
中配置,我所做的尝试要么给出了相同的结果,要么抛出了一个错误
我尝试了以下几点:
if( $this->load->database('optional') == FALSE )
这会引发错误您指定的数据库连接组无效
try( $this->load->database('optional') )
{
foo();
}
catch(Exception $e)
{
doNothing();
}
这引发了同样的错误
文档说明,$this->load->database('optional',TRUE)
返回连接ID,但是我无法在返回值之前检查这一点,因为代码错误
我希望能够检查是否设置了属性,例如$this->config->item('db')['optional']
,但这在很大程度上是猜测,以确定如何访问正确的属性
我还研究了dbutil
类,但这只适用于已经建立了连接的数据库。也许这会有所帮助?我已经配置了两个数据库并正在运行,但是第三个数据库是可选的$this->load->database('optional',TRUE)
返回连接ID,但是我无法在返回值之前检查这一点,因为代码错误。
$db['db1']['hostname'] = 'localhost';
$db['db1']['username'] = 'root';
$db['db1']['password'] = '';
$db['db1']['database'] = 'mydatabase';
$db['db1']['dbdriver'] = 'mysql';
$db['db1']['dbprefix'] = '';
$this->load->database('db1',TRUE);