我的SELECT语句中的SQL语法错误

Jos*_* C. 3 mysql sql

有人可以帮我弄清楚我在SELECT语句中做错了什么吗?

SELECT *
FROM group
WHERE login = 'admin'
Run Code Online (Sandbox Code Playgroud)

我的错误是:

在第1行的'group WHERE login ='admin''附近使用正确的语法

它应该失败但是因为admin不在数据库中但是当我插入数据库中的数据时它仍然失败.

Joh*_*Woo 11

GROUP是保留关键字.您需要使用back来转义它以避免语法错误.

SELECT * FROM `group` WHERE login = '$username'
Run Code Online (Sandbox Code Playgroud)

如果您有权更改表名,请将其更改为不是保留关键字,以避免将来再次出现其他语法错误. :D


作为一个旁注,查询是脆弱的SQL Injection,如果值(小号变量)从外面走了进来.请查看下面的文章,了解如何防止它.通过使用,PreparedStatements您可以摆脱使用值周围的单引号.