我使用Codeigniter的Active Record进行了一个简单的选择查询,但不知怎的,它与我的真实MySQL记录有不同的结果。
MyModel.php
class MyModel extends CI_Model {
public function get_pending_requests($admin_id) {
$this->db->from('assignment');
$this->db->where('admin_id', $admin_id);
$this->db->where('requested IS NOT NULL');
$this->db->where('approved IS NULL');
$this->db->where('declined IS NULL');
$result = $this->db->get()->result();
var_dump($result);
var_dump($this->db->last_query());
return $result;
}
}
我可以向您保证,无论我运行该代码多少次,它始终返回相同的查询:
string 'SELECT *
FROM (`assignment`)
WHERE `admin_id` = '1'
AND `requested` IS NOT NULL
AND `approved` IS NULL
AND `declined` IS NULL' (length=126)
然而,使用完全相同的查询,它会返回不同的结果。
有时它会返回正确的结果,即null(因为赋值表中没有记录)。
但在其他时候,它会返回已删除的记录。
object(stdClass)[36]
public 'id' => string '14' (length=2)
有一个id为14的记录,但它已被删除了一段时间。
需要提示。
答案 0 :(得分:0)
我得到了解决。
它似乎与mysql持久连接有关。
我添加了这个
$ db ['default'] ['pconnect'] = FALSE;
一切都很好。