我已经放置了以下代码块来从数据库中获取项目。这是代码:
$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
尝试使用即添加的(
)
`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
$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();