我正在制作一个包含两个不同数据库的网站。假设一个是 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/