在开发中,我们有时候会遇到在同一程序中链接多个数据库的需求,这对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 );
|