如何在mysql语句中使用多个WHERE和OR


How would I use multiple WHERE and OR in a mysql statement

我正试图根据某人选择的城市返回记录。它适用于一个城市。但我试着把"OR"放在那里,它仍然只返回一个城市的结果。不是两者都有。我在这里做错什么了吗。我觉得还好,但我一定做错了什么。

$result = mysql_query("
SELECT 
  lat,lng,id,re,per_num,name,city,state,zip,address,status,category,size,
  ( 3959 * acos( cos( radians(40.000000) ) 
               * cos( radians( lat ) ) 
               * cos( radians( lng ) - radians(-75.000000) ) 
               + sin( radians(40.000000) ) 
               * sin( radians( lat ) ) 
               )
  ) AS distance 
FROM 
  buildings 
WHERE 
  (city='$cities[0]' OR city='$cities[1]') 
  AND re='$re2'
  AND status='$status2' 
  AND size='$size2' 
HAVING 
  distance < 25  
ORDER BY 
  distance 
LIMIT 
  0 , 20  
                     ");

您的请求不仅受到$cities条目的约束,还受到的约束

AND re='$re2' AND status='$status2' AND size='$size2'

还有

 HAVING distance < 25

可能丢失的城市entrie不符合任何这些限制,它不会出现在请求结果中。