Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OR和条件的Php查询生成器_Php_Mysql_Codeigniter_Query Builder - Fatal编程技术网

OR和条件的Php查询生成器

OR和条件的Php查询生成器,php,mysql,codeigniter,query-builder,Php,Mysql,Codeigniter,Query Builder,我这样做是为了构建一个查询,并从codeigniter中的“flights”表中获取座位 $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

我这样做是为了构建一个查询,并从codeigniter中的“flights”表中获取座位

$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
但结果包含“approved”=0的结果,我猜我的查询所做的是,它得到1个seatsF>0,然后OR短路并返回true,而不是真正检查整个查询。如何通过查询生成器生成这样的查询:-

SELECT * FROM `Flights` WHERE `(seatsF` >0 OR `seatsB` >0 OR `seatsE` >0)  AND `approved` = 1

您需要将OR包装在()中


您需要将OR包装在()中


真不敢相信这件事这么简单。非常感谢。真不敢相信这么简单。非常感谢。不,它是不同的,我知道如何做where部分,只是在“()”的事情中感到困惑。不,它是不同的,我知道如何做where部分,只是在“()”的事情中感到困惑。
$where = "(seatsF>0 OR seatsB>0 OR seatsE>0)";