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

简介: 在开发中,我们有时候会遇到在同一程序中链接多个数据库的需求,这对Codeigniter框架来说是很简单的,我们只需要在 database.php文件中配置少许参数即可。   默认情况下,CI配置的是链接一个数据库,代码如下: 1 2 3 4 5 6 7 8 9...

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

 

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
目录
相关文章
|
26天前
|
数据库 C# 开发者
ADO.NET连接到南大通用GBase 8s数据库
ADO.NET连接到南大通用GBase 8s数据库
|
24天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
24天前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
24天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
|
24天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(下)
本文接续前文,深入讲解了在Windows环境下使用C#和ADO.NET操作南大通用GBase 8s数据库的方法。通过Visual Studio 2022创建项目,添加GBase 8s的DLL引用,并提供了详细的C#代码示例,涵盖数据库连接、表的创建与修改、数据的增删查改等操作,旨在帮助开发者提高数据库管理效率。
|
13天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
89 15
|
7天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
14天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
18天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
26天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据