Php 有关语法的MYSQL错误
我一直在犯错误 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在“出口”附近,开闭式,长短式,目标1,目标2, 目标三,注意,在第1行输入 对于我试图从MYSQL运行的php脚本Php 有关语法的MYSQL错误,php,mysql,Php,Mysql,我一直在犯错误 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在“出口”附近,开闭式,长短式,目标1,目标2, 目标三,注意,在第1行输入 对于我试图从MYSQL运行的php脚本 $sql = mysql_query("INSERT INTO stockpicks (symbol, entry, exit, openclosed, longshort, target_one, target_two, target_three, notes, entr
$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 int11
符号varchar255
条目varchar255
退出varchar255
开闭varchar255
入口日期时间
朗斯霍特瓦夏酒店
目标为一个varchar255
目标为两个varchar255
目标&u三个varchar255退出是一个。如果要将其用作列名,请在倒勾中引用:
`exit`
试试这个
$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();
请注意,使用backticks以MySQL方式转义标识符会降低普通位置上的可移植性
我要么在启用ANSI SQL模式的情况下使用双引号,要么只给出我的变量名,这些变量名在将来不太可能被保留
exit在mysql中是一个保留字。真的不需要所有这些代码,我们只需要在这里查看查询。这让我想起mysql中发布的保留字,当我开始使用mysql 5时,它驱使我喝酒。真的是一件我从来不知道的事。我只是从来没有用它作为列名。你每天都会学到新东西。南非比亚人,这让我发疯,这是肯定的。谢谢deceze,这为我澄清了问题,效果很好。建议我们不要使用exit,或者在必要时只勾选backtick?@Hire正如链接到手册中所说:某些单词(如SELECT、DELETE或BIGINT)是保留的,需要特殊处理才能用作标识符,如表名和列名。[…]如果您引用保留字,则允许将其作为标识符…-只要你引用它们,它们就可以使用。谢谢deceze。很抱歉,我原来的帖子被评得很差,但我希望其他人能从这篇帖子中获得一些价值。再次感谢