2013-04-07 54 views
4

我試圖用phpMyAdmin或PHP與PDO做MySQL的選擇查詢。MySQL選擇字段小於和大於值

SELECT 'uid' FROM 'clusters' WHERE 'lat'<='47.21125' AND 'lat'>='39.21125' AND 'lng'<='32.90243' AND 'lng'>='22.90243' 

然而,phpMyAdmin的說:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''clusters' WHERE 'lat'<='47.21125' AND 'lat'>='39.21125' AND 'lng'<='32.90243' A' at line 1 

有什麼不對呢?

+0

http://stackoverflow.com/questions/11321491/mysql-when-to-use-single-quotes-double-quotes-and-backticks的重複 – 2013-04-07 17:04:32

回答

8

'' 0123在MySQL中創建一個字符串字面值,所以你的查詢是從文字「簇」中選擇文字「uid」,這是無效的。使用backtics(或沒有)

SELECT Uid FROM clusters WHERE lat <= 47.21125 AND lat >= 39.21125 
AND lng >= 22.90243 
+0

我只是想說,是不是我給了否決票。但是,您也不應該使用雙引號的引號。 – ajreal 2013-04-07 17:09:07

+0

@ajreal我不認爲它有所作爲,但我編輯我的答案,刪除它們 – 2013-04-07 17:10:04

+0

該報價將強制MySQL執行不必要的轉換,這並不意味着...該索引可以被忽略(但是,SQL由OP不使用索引) – ajreal 2013-04-07 17:14:03