我应该把数据库配置值放在Codeigniter的哪里


Where do I put database config values in Codeigniter?

我正在尝试连接到与数据库配置文件中不同的数据库。

我已经能够在我的模型中使用以下内容来做到这一点:

        $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