我将codeigniter配置为使用多个数据库。对于某些客户,我们需要查询其他数据库,因此这是:
if( isConfigured(database) )
foo();
但是,无论db是在databases.php
中配置还是抛出错误,我所做的尝试都给出了相同的结果。
我尝试过以下方法:
if( $this->load->database('optional') == FALSE )
引发错误You have specified an invalid database connection group
try( $this->load->database('optional') )
{
foo();
}
catch(Exception $e)
{
doNothing();
}
引发同样的错误
文档指出$this->load->database('optional', TRUE)
返回连接ID但是在返回值之前我无法将其检查为代码错误。
我希望能够检查是否已经设置了一个属性,例如$this->config->item('db')['optional']
但这很大程度上是猜测如何访问正确的属性
我也查看了dbutil
类,但这仅适用于已建立连接的数据库。
答案 0 :(得分:0)
$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);