我試圖根據某人選擇的城市來返回記錄。它適用於一個城市。但我試圖把「OR」放在那裏,它只能返回一個城市的結果。不是都。我在這裏做錯了嗎?它看起來沒問題,但我必須做錯事。如何在mysql語句中使用多個WHERE和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
");
有沒有試過寫*多行*語句? – 2012-03-15 14:27:26
嘗試'回顯'您的查詢來查看從服務器請求的實際內容。另外,請確保請求的數據存在於數據庫中...... **另外**:使用'HAVING'是非常不必要的。 'HAVING'主要用於'GROUP'和聚合函數('SUM','COUNT'等等) – 2012-03-15 14:27:52
這就是爲什麼你會得到一行 – phpmeh 2012-03-15 14:29:27