0

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

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

3 回答 3

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);
    }
于 2013-07-09T08:55:05.980 回答
0

我假设你已经在你的database.php

你可以像这样加载你的第二个数据库:

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

并像这样使用它:

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

于 2013-07-09T08:58:27.340 回答
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);
于 2013-07-09T08:54:49.090 回答