Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter-检查是否已配置数据库连接_Php_Codeigniter - Fatal编程技术网

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

Php Codeigniter-检查是否已配置数据库连接,php,codeigniter,Php,Codeigniter,我已将codeigniter配置为使用多个数据库。对于某些客户,我们需要查询其他数据库,因此这是一个问题: if( isConfigured(database) ) foo(); 然而,无论数据库是否在databases.php中配置,我所做的尝试要么给出了相同的结果,要么抛出了一个错误 我尝试了以下几点: if( $this->load->database('optional') == FALSE ) 这会引发错误您指定的数据库连接组无效 try( $this->

我已将codeigniter配置为使用多个数据库。对于某些客户,我们需要查询其他数据库,因此这是一个问题:

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