📅  最后修改于: 2023-12-03 15:23:58.435000             🧑  作者: Mango
CodeIgniter 3是一个流行的PHP框架,允许您使用多个数据库连接来处理不同的数据库。本文将介绍如何使用CI3建立多个数据库连接的方式。
首先,您需要在应用程序/配置目录中设置数据库信息。CodeIgniter提供了一个基本配置文件,您可以在其中设置单个数据库连接,如下所示:
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'database_name',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
您需要重复以上代码并为每个数据库连接更改数组名称。例如,以下是如何为第二个数据库连接添加另一个$db数组:
$db['second_db'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'second_database_name',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
一旦您已经设置了多个数据库连接的信息,您可以在应用程序中使用以下语法来调用不同的数据库连接:
$first_db = $this->load->database('default', TRUE);
$second_db = $this->load->database('second_db', TRUE);
如您所见,在第一个数据库连接的名称(default)之后,使用TRUE来告诉CI要返回一个数据库对象而不是TRUE/FALSE:
$first_db = $this->load->database('default', TRUE);
现在,您可以使用以下语法执行查询:
$query = $first_db->query("SELECT * FROM table_name");
您也可以在查询完成后关闭连接:
$first_db->close();
重要的是要注意,一旦您设置了多个数据库连接,您必须决定哪个连接是默认连接。要设置默认连接,请使用以下代码:
$active_group = 'default';
$query_builder = TRUE;
将$db数组的名称设置为“default”:
$db['default'] = array(
// ...
);
使用CodeIgniter 3,您可以轻松地为您的应用程序设置多个数据库连接。只需像上面所述设置多个$db数组并按名称调用即可。在执行查询之后,您可以选择关闭连接,以便其他查询使用该连接。请记住,在决定哪个连接是默认连接时保持谨慎,这是调用数据库时的重要设置。