📜  如何使用db超过1 codeigiter 3 - PHP(1)

📅  最后修改于: 2023-12-03 15:23:58.435000             🧑  作者: Mango

如何使用多个数据库连接超过1个

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数组并按名称调用即可。在执行查询之后,您可以选择关闭连接,以便其他查询使用该连接。请记住,在决定哪个连接是默认连接时保持谨慎,这是调用数据库时的重要设置。