SQL Server'''附近的语法不正确

Zac*_*ell 1 php t-sql sql-server

我有以下SQL,我试图对Microsoft SQL Server执行.

$rs = odbc_exec($conn, "INSERT INTO tGuest (`GuestName`, `GuestEmailAddress`, `GuestPassword`, `GuestCity`, `GuestCountry`) VALUES ('test', 'test', 'test', 'test', 'test');");
Run Code Online (Sandbox Code Playgroud)

但是我收到了以下错误:

[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '`'.
Run Code Online (Sandbox Code Playgroud)

我看不出SQL代码有什么问题所以我不确定我是否遗漏了某些东西或者有其他错误.

Luk*_*zda 5

SQL Server使用[]/ "引用标识符:

定界标识符

双引号(")或括号([])括起来.符合标识符格式规则的标识符可能不会被分隔.

$rs = odbc_exec($conn, "INSERT INTO tGuest ([GuestName], [GuestEmailAddress], [GuestPassword], [GuestCity], [GuestCountry]) VALUES ('test', 'test', 'test', 'test', 'test');");
Run Code Online (Sandbox Code Playgroud)

在您的情况下,您也可以跳过它,因为您的标识符是有效的:

INSERT INTO tGuest(GuestName,GuestEmailAddress,GuestPassword,GuestCity,GuestCountry) 
VALUES ('test', 'test', 'test', 'test', 'test');
Run Code Online (Sandbox Code Playgroud)

您的命名约定似乎是多余的.如果表被命名,tGuest那么就不需要为列添加前缀Guest.