我正在构建一个应用程序,但后来了解到我们需要使用sql数据库并且我现在返回这个并且不确定为什么?
SQLSTATE [42000]:[Microsoft] [SQL Server的ODBC驱动程序11] [SQL 服务器]关键字“用户”附近的语法不正确。
查询:
SELECT *
FROM User WHERE (username = 'james' OR email = 'james') AND password =
'M4erz2BE/N7NYyE40UJRo5W1E1ZiqKpOMWQhm+R8Esc='
答案 0 :(得分:2)
确保您正在查询正确的数据库,并且在默认架构中定义了[User]表。否则,您需要在表名之前明确指定架构。
此外,当您使用标识符(列,表或数据库名称)时,请使用括号调整周围的标识符。它使查询更具可读性:
SELECT *
FROM [dbo].[User] WHERE ([username] = 'james' OR [email] = 'james') AND [password] =
'M4erz2BE/N7NYyE40UJRo5W1E1ZiqKpOMWQhm+R8Esc='
答案 1 :(得分:0)
您可能使用了错误的数据库。在连接字符串中指定数据库名称,或者完全限定表名。
此外,“用户”是reserved word。将您的查询更改为:
SELECT * FROM yourDatabaseName.dbo.[User] WHERE (username = 'james' OR email = 'james') AND password = 'M4erz2BE/N7NYyE40UJRo5W1E1ZiqKpOMWQhm+R8Esc='
答案 2 :(得分:0)
尝试此选择用户,不确定但尝试一下
SELECT user
WHERE username = 'james' OR email = 'james'
AND password ='M4erz2BE/N7NYyE40UJRo5W1E1ZiqKpOMWQhm+R8Esc='