我正在尝试连接到不同于我的数据库配置文件中的数据库。
我已经能够在我的模型中使用以下内容执行此操作:
$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();
我只能在配置值在模型本身时才能使它工作(因此会有很多重复)。我已经尝试将配置数组放在构造函数中,但是我收到一个无法找到它的错误。
我在哪里可以放置配置数组,所以我不必复制它,并且整个模型都可以使用它?
答案 0 :(得分:3)
数据库配置通常在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
答案 1 :(得分:2)
我认为this可以直接从codeigniter论坛帮助您:)
答案 2 :(得分:2)
Code Igniter中有一个配置目录,您可以在其中添加自己的配置文件:
system/application/config
在同一目录中有一个autoload.php
文件,您可以在其中指定要加载的其他配置文件。
答案 3 :(得分:0)
答案 4 :(得分:0)
由于您的配置数据似乎与数据库相关,请将它们存储在
中系统/应用/配置/ database.php中