我在旧的codeigniter安装上使用活动记录,我遇到了使用get_where函数执行多个查询的问题.例如以下代码
$this->db->get_Where('activation', array('email'=>'test@yahoo.com'));
echo $this->db->last_query();
$this->db->get_Where('users', array('email'=>'test@yahoo.com'));
echo $this->db->last_query();
Run Code Online (Sandbox Code Playgroud)
第一个查询生成
SELECT * FROM (`activation`) WHERE `email` = 'test@yahoo.com'
Run Code Online (Sandbox Code Playgroud)
第二个抛出一个循环并生成
SELECT * FROM (`activation`, `users`)
WHERE `email` = 'test@yahoo.com' AND `email` = 'test@yahoo.com'
Run Code Online (Sandbox Code Playgroud)
我应该清理什么吗?
您需要从查询中检索结果$this->db->query->result();
$this->db->get_Where('activation', array('email'=>'test@yahoo.com'));
echo $this->db->last_query();
$result_1 = $this->db->query->result();
$this->db->get_Where('users', array('email'=>'test@yahoo.com'));
echo $this->db->last_query();
$result_2 = $this->db->query->result();
Run Code Online (Sandbox Code Playgroud)
或者如果你想返回一个数组,请result_array();使用result();