database - 在 codeigniter 中为我的模型更改数据库时遇到问题

标签 database codeigniter model

我正在制作一个包含两个不同数据库的网站。假设一个是 DB1,另一个是 DB2。我已经在 config 文件夹中设置了我的 database.php,所以它们每个都有正确的主机/密码/用户名/数据库等 db['DB1']['hostname'] 和另一个 db['DB2'][ '主机名'] 等,所以我很确定我做对了那部分。

根据 CodeIgniter 文档,我应该执行 $this->load->database('DB1') 以使该数据库在我的模型中工作。首先,我将它放入我的模型的构造函数中,但它不起作用。然后我尝试将该行作为模型中每个函数的第一行,但没有用。我仍然收到此错误:

Error Number: 1146

Table 'DB2.stores' doesn't exist

当我尝试使用 DB1 时,并将 $this->load->database('DB1') 作为模型函数的第一行。有谁知道我做错了什么?谢谢!

最佳答案

我上次尝试这样做时遇到了一些警告。

在您的模型构造函数中,将 DB1 和 DB2 加载为

$this->DB1=$this->load->database('DB1',true) //<-- notice the true parameter
$this->DB2=$this->load->database('DB2',true) //<-- notice the true parameter

然后使用$this->DB1->get()->where()->result_array()

警告 2
确保持久连接关闭...它们在 CI 中默认打开

$db['DB2']['pconnect'] = FALSE;

$db['DB2']['pconnect'] = FALSE;

在你的 application/config/database.php 文件中

希望对你有帮助...

关于database - 在 codeigniter 中为我的模型更改数据库时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1787198/

相关文章:

php - 在 mySQL 中扩展餐厅数据库

mysql 到 codeigniter 事件记录帮助

php - 将值从 Controller 传递到 jQuery CodeIgniter

java - 显示 JList 内的值 -

Django - 从另一个项目导入模型

mysql - SQL 存储过程获取用户对象,然后更新该对象的值

sql - 我可以在 SQL Server 2012 中创建内存表吗?

javascript - PHP 使用 javascript (codeigniter) 以动态形式进入数据库

c++ - Qt:将 C++ 中的列表连接到 QML 中的 ListView

mysql - 使用 .sql.gz 文件还原数据库时,gunzip 附近的 SQL 语法错误