我遇到问题,尝试对我的选择请求进行排序 -
SELECT * FROM `table_name` OREDER BY `score` DESC LIMIT 10 ;
我收到错误#1064:
#1064
- 您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行'BYscore
DESC LIMIT 10'附近
但我真的不知道错误!正如我想的那样,名称和引用是正确的......因为此请求正常运行:
INSERT INTO `table_name` (`uid`, `score`) VALUES ("'.$viewer_id.'","'.$uscore.'") ON DUPLICATE KEY UPDATE `score` = "'.$uscore.'";';
有人可以帮帮我!! ??
对不起我的英语(
答案 0 :(得分:2)
它是ORDER
而不是OREDER
SELECT * FROM table_name ORDER BY score DESC LIMIT 10
作为旁注,如果变量的值( s )来自外部,则查询易受SQL Injection
攻击。请查看下面的文章,了解如何防止它。通过使用PreparedStatements
,您可以摆脱在值周围使用单引号。
答案 1 :(得分:1)
你的语法中有拼写错误'ORDER BY'而不是'OREDER BY'正确的语法应该是:
SELECT * FROM `table_name` ORDER BY `score` DESC LIMIT 10 ;