我正在尝试连接到与数据库配置文件中不同的数据库。
我已经能够在我的模型中使用以下内容来做到这一点:
$wp['hostname'] = "localhost";
$wp['username'] = "root";
$wp['password'] = "";
$wp['database'] = "transfer";
$wp['dbdriver'] = "mysql";
$wp['dbprefix'] = "";
$wp['pconnect'] = FALSE;
$wp['db_debug'] = TRUE;
$wp['cache_on'] = FALSE;
$wp['cachedir'] = "";
$wp['char_set'] = "utf8";
$wp['dbcollat'] = "utf8_general_ci";
$wpDB = $this->load->database($wp, TRUE);
然后运行这样的查询:$query = $wpDB->get();
只有当配置值在模型中时,我才能让它工作(所以会有很多重复)。我试着把配置数组放在构造函数中,但我得到了一个错误,它找不到它
我可以把配置数组放在哪里,这样我就不必复制它,而且它在整个模型中都可用?
数据库配置通常在config/database.php
中进行。您可以配置多个数据库连接,并使用不同的组名存储它们:
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'host1';
$db['default']['username'] = 'user1';
$db['default']['password'] = '******';
$db['default']['database'] = 'my_db';
$db['other']['hostname'] = 'host2';
$db['other']['username'] = 'user2';
$db['other']['password'] = '******';
$db['other']['database'] = 'my_other_db;
$active_group
是指加载数据库类时的默认组。要连接到模型中的另一个组,可以在模型的__construct
方法中使用:
$this->db = $this->load->database('other', TRUE);
虽然这与更灵活的$this->load->model('model_name', 'alias', $config)
方法不太匹配,但它可能更容易。
更多信息:http://codeigniter.com/user_guide/database/connecting.html
我认为这可以直接从代码点火器论坛帮助您:)
Code Igniter中有一个配置目录,您可以在其中添加自己的配置文件:
system/application/config
在同一目录中有一个autoload.php
文件,您可以在其中指定要加载的其他配置文件。
您可以使用CodeIgniter中的配置文件。
要检索配置变量,请使用:
$this->config->item('item name');
文档中的更多信息
由于您的配置数据似乎与数据库相关,请将它们存储在中
system/application/config/database.php