我在 中建立了两个数据库连接database.php
,一个用于读取我的本地主机机器,一个用于编写“插入”,这是一个在线数据库。
但是当我想加入 localhost 数据库中的“answers”和在线数据库中的“user”这两个表时,我遇到了这个问题。
function get_users() {
$write_db = $this->load->database('default', TRUE); /* database conection for localhost DB */
$read_db = $this->load->database('read', TRUE); /* database conection for online DB */
$read_db->select('*');
$read_db->from('ibitstore.user');
$write_db->join('english.answers','ibitstore.user.user_id = english.answers.user_id');
$query = $read_db->get();
if($query->num_rows() > 0)
return $query->result_array();
return array();
}
当我使用$write_db
连接子句时
$write_db->join('english.answers','ibitstore.user.user_id = english.answers.user_id');
数据是从在线数据库中检索的,而不是从 localhost 数据库中检索的,就像它忽略了我尝试使用的连接一样:
$read_db->join('english.answers','ibitstore.user.user_id = english.answers.user_id');
然后我得到了这个 SQL 错误。看起来它认为“答案”表在在线数据库中:
A Database Error Occurred
错误号:1142
SELECT 命令拒绝用户 'user'@'49.32.197.240' 用于表 'answers'
SELECT *
FROM (`ibitstore`.`user`)
JOIN `english`.`answers`
ON `ibitstore`.`user`.`user_id` = `english`.`answers`.`user_id`
文件名:C:\xampp\htdocs\english\system\database\DB_driver.php
行号:330
请帮忙 :(