本文共 1846 字,大约阅读时间需要 6 分钟。
在开发中,我们有时候会遇到在同一程序中链接多个数据库的需求,这对框架来说是很简单的,我们只需要在 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 );
|