📜  加载多个数据库 codeigniter (1)

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

CodeIgniter中如何加载多个数据库

在开发过程中,有时候需要同时连接多个数据库,而 CodeIgniter 很好地支持了这一功能。以下是如何在 CodeIgniter 中加载多个数据库。

配置文件

首先,需要在配置文件(application/config/database.php)中配置多个数据库连接信息。

$first_db = array(
    'dsn'     => '',
    'hostname' => 'localhost',
    'username' => 'first_db_user',
    'password' => 'first_db_password',
    'database' => 'first_db_name',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

$second_db = array(
    'dsn'     => '',
    'hostname' => 'localhost',
    'username' => 'second_db_user',
    'password' => 'second_db_password',
    'database' => 'second_db_name',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    '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('first_db', TRUE);
$second_db = $this->load->database('second_db', TRUE);

注意第二个参数 TRUE 表示关闭自动连接。如果设置为 FALSE,每次查询都会自动连接数据库,这样会影响性能。

使用其他数据库

在加载了多个数据库后,我们可以像下面这样在代码中使用不同的数据库:

$first_db->select('*');
$first_db->from('user');
$query_first_db = $first_db->get();

$second_db->select('*');
$second_db->from('category');
$query_second_db = $second_db->get();

以上就是 CodeIgniter 中如何加载多个数据库的方法,希望对您有所帮助。