下午全部。 我有一个奇怪的问题。 我需要在codeigniter实例中有两个连接到我们的数据库。 我需要具有标准的ci方法,但我还需要创建一个pdo类实例以用于新功能设置。 不幸的是,我们必须使用旧的数据库连接来运行v1.0系统,并使用pdo db对象来运行新的v2.0系统。
我该如何创建此pdo类的全局实例,以使其每次对codeigniter的进程调用仅实例化一次。
答案 0 :(得分:0)
您应该在application/config/database.php
中添加另一个数据库,并像这样更改dbdriver
和hostname
$db['pdodb']['hostname'] = "mysql:host=localhost'";
$db['pdodb']['username'] = "root";
$db['pdodb']['password'] = "";
$db['pdodb']['database'] = "your_db";
$db['pdodb']['dbdriver'] = "pdo";
$db['pdodb']['dbprefix'] = "";
$db['pdodb']['pconnect'] = TRUE;
$db['pdodb']['db_debug'] = FALSE;
$db['pdodb']['cache_on'] = FALSE;
$db['pdodb']['cachedir'] = "";
$db['pdodb']['char_set'] = "utf8";
$db['pdodb']['dbcollat'] = "utf8_general_ci";
$db['pdodb']['swap_pre'] = "";
$db['pdodb']['autoinit'] = TRUE;
$db['pdodb']['stricton'] = FALSE;
您可以像这样加载数据库
$pdodb= $this->load->database('pdodb', TRUE);
最后,您可以像这样执行查询
$query = $pdodb->select('col1, col2,col3')->get('your_table');
的更多信息