OR和AND条件的Php查询构建器

时间:2017-10-20 13:55:11

标签: php mysql codeigniter query-builder

我这样做是为了建立一个查询并从#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

1 个答案:

答案 0 :(得分:2)

你需要在()中包含OR。

$where = "(seatsF>0 OR seatsB>0 OR seatsE>0)";