我已经使用以下代码块从数据库中获取项目。这是代码:
$db->where("type =", 1);
$db->where("status", 1);
$db->or_where("status", 2);
$db->order_by("id", "DESC");
$dbinfo = $db->get("ads")->result_array();
现在,根据上面的代码,预计会看到类型为1且状态为1的项目,或者是2.但它会获取类型也不是1的项目。这让我感到困惑从清晨开始。我不知道更多的解决方案。
我还使用$db->last_query()
打印出生成的CodeIgniter SQL查询,供您查看和检查。
SELECT * FROM (`ads`) WHERE `type` = '1' AND `status` = 1 OR `status` = 2 ORDER BY `id` DESC
答案 0 :(得分:0)
尝试使用,即添加(
)
`type` = '1' AND (`status` = 1 OR `status` = 2)
而不是
`type` = '1' AND `status` = 1 OR `status` = 2
参考:http://ellislab.com/codeigniter/user-guide/database/active_record.html
答案 1 :(得分:0)
$this->db->or_where('id >', $id);
$db->where("type =", 1);
$db->where("status", 1);
$db->or_where("status >", 2);
$db->order_by("id", "DESC");
$dbinfo = $db->get("ads")->result_array();