【问题标题】:CodeIgniter how to connect multi database using database.php for first connection and Model for second connectionCodeIgniter 如何使用 database.php 连接多数据库进行第一次连接和 Model 进行第二次连接
【发布时间】:2012-04-15 06:48:13
【问题描述】:

我有很多数据库连接 我在 database.php 文件中有主连接

$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'xxx';
$db['default']['username'] = 'xxx';
$db['default']['password'] = 'xxxx';
$db['default']['database'] = 'xxx';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

我还有更多的联系.. 但我必须使用 [Model]

配置另一个连接

我可以将参数传递给database.php吗?

或者我可以把这样的代码放在模型中

$db['xxx']['hostname'] = 'xxx';
$db['xxx']['username'] = 'xxx';
$db['xxx']['password'] = 'xxxx';
$db['xxx']['database'] = 'xxx';
$db['xxx']['dbdriver'] = 'mysql';
$db['xxx']['dbprefix'] = '';
$db['xxx']['pconnect'] = TRUE;
$db['xxx']['db_debug'] = TRUE;
$db['xxx']['cache_on'] = FALSE;
$db['xxx']['cachedir'] = '';
$db['xxx']['char_set'] = 'utf8';
$db['xxx']['dbcollat'] = 'utf8_general_ci';
$db['xxx']['swap_pre'] = '';
$db['xxx']['autoinit'] = TRUE;
$db['xxx']['stricton'] = FALSE;

$this->load->database('xxx', TRUE);

【问题讨论】:

    标签: codeigniter codeigniter-datamapper


    【解决方案1】:

    我通常在 database.php 中定义其他数据库连接(如您在上面所拥有的),然后在模型中您可以像这样调用它:

    $this->xxx_db = $this->load->database('xxx', true); 
    $this->xxx_db->set($params);
    $sql = $this->xxx_db->insert('table_name');
    

    这样做可以将所有连接保持在一个位置 - 更易于维护。

    您可能还想看到这个问题:Multiple database connections。我不太清楚你遇到了什么问题。

    【讨论】:

    • 我也想用datamapper
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 2018-09-07
    • 1970-01-01
    • 2012-01-15
    • 2011-05-20
    相关资源
    最近更新 更多