2011-09-25 51 views
0

Utility Class在初始化时是否重新连接到数据库配置文件中定义的数据库?CodeIgniter的dbutils无法识别新的数据库连接

下面的代码是从开发数据库返回的数据库,而不是督促:

$this->load->database('prod'); 
$this->load->dbutil(); 
print_r($this->dbutil->list_databases()); 

我的数据库配置文件中包含:

$db['dev']['hostname'] = 'localhost'; 
$db['dev']['username'] = 'root'; 
$db['dev']['password'] = ''; 
$db['dev']['database'] = 'mydb'; 
... 

$db['prod']['hostname'] = 'prodhost'; 
$db['prod']['username'] = 'username'; 
$db['prod']['password'] = 'password'; 
$db['prod']['database'] = 'myproddb'; 
... 

编辑1:的确,dbutil似乎影响通过$ active_group变量在数据库配置文件中。我如何覆盖这个单一功能?我认为这是$this->load->database('environment');的目的...不是?

回答

2

Utility类使用分配给$ this-> db的数据库来执行其功能。

的解决方案是分配的$this->load->database('environment')$this->db结果:

$this->db = $this->load->database('environment', TRUE);