2013-04-07 120 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