Codeigniter开发技巧:连接多个数据库(可实现DB读写分离)

      在开发中,我们有时候会遇到在同一程序中链接多个数据库的需求,这对Codeigniter框架来说是很简单的,我们只需要在 database.php文件中配置少许参数即可。

 

默认情况下,CI配置的是链接一个数据库,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "first_database_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$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;

 

如果我们需要链接另一个数据库时,只需增加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$db['database_two']['hostname'] = "localhost";
$db['database_two']['username'] = "root";
$db['database_two']['password'] = "";
$db['database_two']['database'] = "secound_database_name";
$db['database_two']['dbdriver'] = "mysql";
$db['database_two']['dbprefix'] = "";
$db['database_two']['pconnect'] = TRUE;
$db['database_two']['db_debug'] = FALSE;
$db['database_two']['cache_on'] = FALSE;
$db['database_two']['cachedir'] = "";
$db['database_two']['char_set'] = "utf8";
$db['database_two']['dbcollat'] = "utf8_general_ci";
$db['database_two']['swap_pre'] = "";
$db['database_two']['autoinit'] = TRUE;
$db['database_two']['stricton'] = FALSE;

 

链接创建完成之后,在应用程序中我们就可以使用第二个数据库了,使用方法如下:

1
2
3
$secound_db$this->load->database('database_two', TRUE);
$query $secound_db->get('person');
var_dump($query);

 

posted @ 2015-08-18 11:03  谦信君  阅读(1517)  评论(0编辑  收藏  举报