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

时间:2012-03-15 14:25:29

标签: php mysql

我正在尝试根据某人选择的城市返回记录。它适用于一个城市。但我试图将“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  
                     ");

1 个答案:

答案 0 :(得分:1)

您的请求不仅受到您的$ cities条目的限制,还受到

的限制
AND re='$re2' AND status='$status2' AND size='$size2'

还有

 HAVING distance < 25

如果失踪的城市不能遵守任何这些限制,它将不在请求结果中。