我希望通过以下查询从请求表中获取数据,根据此查询,我应该只得到第三个条目,但我得到结果数组中的所有三个条目,任何人都可以请更正查询
$sql=" SELECT * from `request` where clientid='".$clientid."' and (req_status!='On-Hold' or req_status!='Closed') ORDER BY total_resume DESC ";
$result = mysqli_query($con, $sql);
if(mysqli_num_rows($result)>0)
{
while($row = mysqli_fetch_assoc($result))
{
//get list of data
}
}
request table
id clientid req_status total_resume
1 1 On-Hold 1
2 1 Closed 2
3 1 3
答案 0 :(得分:1)
更改
req_status!='On-Hold' or req_status!='Closed'
到
req_status!='On-Hold' and req_status!='Closed'
因为or
运算符在状态为closed
时返回true,因为在req_status!='On-Hold'
状态的情况下第一个条件为真closed
,而在另一个情况下则相同。您需要AND
,因为您需要的行不是closed
也不是on-hold