我必须在控制器中使用两个数据库。即使我使用第二个参数 TRUE 加载第二个数据库以获得参考而不覆盖默认数据库,它正在替换默认数据库。知道加载第二个数据库时应该做什么。目前我正在加载如下。
$testDB = $this->load->database('preview',TRUE,FALSE);
我必须在控制器中使用两个数据库。即使我使用第二个参数 TRUE 加载第二个数据库以获得参考而不覆盖默认数据库,它正在替换默认数据库。知道加载第二个数据库时应该做什么。目前我正在加载如下。
$testDB = $this->load->database('preview',TRUE,FALSE);
将两个 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);
}
我假设你已经在你的database.php
你可以像这样加载你的第二个数据库:
$testDB = $this->load->database('preview', TRUE);
并像这样使用它:
$query = $testDB->query("SELECT * FROM TABLE");
//这将确定或检查您的错误
//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);