我一直收到错误
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'exit,openclosed,longshort,target_one,target_two, target_three,notes,entryd'at line 1
对于我试图从MYSQL运行的这个php脚本。
$sql = mysql_query("INSERT INTO stockpicks (symbol, entry, exit, openclosed, longshort, target_one, target_two, target_three, notes, entrydate)
VALUES('$symbol','$entry','$exit','$openclosed','$longshort','$target_one','$target_two','$target_three','$notes',now())") or die (mysql_error());
问题是我没有看到错误。我已经检查过这条特殊线和周围的线条。例如,我做了'$ var'部分,这在过去给我带来了麻烦,但这似乎不是问题。我的表结构如下
id int(11)
symbol varchar(255)
entry varchar(255)
退出varchar(255)
openclosed varchar(255)
entrydate datetime
longshort varchar(255)
target_one varchar(255)
target_two varchar(255)
target_three varchar(255)
答案 0 :(得分:6)
exit
是reserved word。如果要将其用作列名,请在反引号中引用它:
`exit`
答案 1 :(得分:0)
试试这个,
$sql = mysql_query("INSERT INTO stockpicks (symbol, entry, `exit`, openclosed, longshort, target_one, target_two, target_three, notes, entrydate)
VALUES('$symbol','$entry','$exit','$openclosed','$longshort','$target_one','$target_two','$target_three','$notes',now())") or die (mysql_error());
$pid = mysql_insert_id();
请注意,使用反引号以MySQL方式转义标识符会降低普通位置的可移植性。
我要么在启用ANSI SQL模式时使用双引号,要么只提供我将来不太可能保留的变量名称。
exit
是mysql中的保留字。