Codeigniter - 检查是否已配置数据库连接

时间:2016-02-22 11:36:32

标签: php codeigniter

我将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类,但这仅适用于已建立连接的数据库。

1 个答案:

答案 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);