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 );

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值