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