gpt4 book ai didi

php - Codeigniter - 使用多个数据库

转载 作者:IT王子 更新时间:2023-10-29 01:07:16 25 4
gpt4 key购买 nike

database.php:

$db['default']['hostname'] = "192.168.2.104";
$db['default']['username'] = "webuser";
$db['default']['password'] = "----";
$db['default']['database'] = "vad";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";

$db['stats']['hostname'] = "192.168.2.104";
$db['stats']['username'] = "webuser";
$db['stats']['password'] = "---";
$db['stats']['database'] = "vad_stats";
$db['stats']['dbdriver'] = "mysql";
$db['stats']['dbprefix'] = "";
$db['stats']['pconnect'] = TRUE;
$db['stats']['db_debug'] = TRUE;
$db['stats']['cache_on'] = FALSE;
$db['stats']['cachedir'] = "";
$db['stats']['char_set'] = "utf8";
$db['stats']['dbcollat'] = "utf8_general_ci";

问题是我只能在配置一中定义$active_group、默认值或统计信息。我遵循了 CodeIgniter 文档并添加了以下内容:

$DB2 = $this->load->database('stats', TRUE);

这样我连接到第二个数据库,但我失去了与第一个数据库的连接。有没有人知道如何加载两个数据库而不必在所有模型构造函数中执行以下操作?

$database1 = $this->load->database('database1', TRUE);
$database2 = $this->load->database('database2', TRUE);

问候,

佩德罗

最佳答案

codeigniter 中存在错误。在类中插入一行将解决整个问题。这是原始来源:http://koorb.wordpress.com/2007/11/16/codeigniter-connect-to-multiple-databases/

** 此修复不适用于 PostgreSQL

这是一份副本,以防该网站出现故障。

行号已更改。这是 codeigniter 的错误修复:

开始错误修复

描述

所有的数据库调用都转到同一个数据库(最后一个初始化)

要解决此问题,请更改/system/database/DB_driver.php 中的 simple_query 函数:

function simple_query($sql)
{
if ( ! $this->conn_id)
{
$this->initialize();
}

$this->db_select(); //<----------------- Added this line
return $this->_execute($sql);
}

这完全解决了这个问题,所以你可以在模型中做这样的事情

$this->legacy_db = $this->load->database('legacy', true);

关于php - Codeigniter - 使用多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/634291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com