我这样做是为了建立一个查询并从#34;航班获得座位" codeigniter中的表格
$this->load->database();
$this->load->dbforge();
$where = "seatsF>0 OR seatsB>0 OR seatsE>0";
$this->db->where($where);
$this->db->where('approved', 1);
$query=$this->db->get("Flights");
$result=$query->result_array();
echo $this->db->last_query();
die;
return $result;
我当前的查询是由php中的查询构建器生成的
SELECT * FROM `Flights` WHERE `seatsF` >0 OR `seatsB` >0 OR `seatsE` >0 AND `approved` = 1
但结果包含结果,其中"已批准" = 0,我猜我的查询正在做的是它获得1个座位F> 0然后OR短路并返回true并且它不是真正检查整个查询。如何通过查询生成器生成这样的查询: -
SELECT * FROM `Flights` WHERE `(seatsF` >0 OR `seatsB` >0 OR `seatsE` >0) AND `approved` = 1
答案 0 :(得分:2)
你需要在()中包含OR。
$where = "(seatsF>0 OR seatsB>0 OR seatsE>0)";