在Codeigniter中发出连接第二个数据库的问题

时间:2013-07-09 08:44:42

标签: php mysql database codeigniter

我必须在控制器中使用两个数据库。即使我使用第二个参数TRUE加载第二个数据库来获取引用而不覆盖默认数据库,它正在替换默认数据库。知道加载第二个数据库时应该做什么。目前我正在加载如下。

$testDB = $this->load->database('preview',TRUE,FALSE);

3 个答案:

答案 0 :(得分:1)

将db的pconnect参数设置为false

$db['preview']['pconnect'] = FALSE;
你的config / database.php中的

然后在连接到第二个数据库的模型上,加载它:

class Example_m extends CI_Model {

   function __construct(){
        $CI =& get_instance();
        parent::__construct();
        $this->db = $CI->load->database('preview',TRUE);
    }

答案 1 :(得分:0)

//这将确定或检查您的错误     

//If you use group

//group name
$preview_DB = $this->load->database('preview',TRUE);

//another DB

$another_DB = $this->load->database('another',TRUE);

//if You use array

//create connection string
$db = array();
$db['hostname'] = "database_hostname";
$db['username'] = "database_username";
$db['password'] = "database_password";
$db['database'] = "database_name";
$db['dbdriver'] = 'mysql';
$db['pconnect'] = FALSE;


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

答案 2 :(得分:0)

我假设您已在database.php

中进行了必要的配置

您可以像下面这样加载第二个数据库:

$testDB = $this->load->database('preview', TRUE);

并像这样使用:

$query = $testDB->query("SELECT * FROM TABLE");