-1

我不断收到错误

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“exit、openclosed、longshort、target_one、target_two、target_three、notes、entryd”附近使用正确的语法

对于我试图从 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)

符号 varchar(255)

条目 varchar(255)

退出 varchar(255)

开闭 varchar(255)

入口日期日期时间

长短 varchar(255)

target_one varchar(255)

target_two varchar(255)

target_three varchar(255)

4

2 回答 2

6

exit是一个保留字。如果您想将其用作列名,请在反引号中引用它:

`exit`
于 2013-07-08T07:06:38.377 回答
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中的保留字。

于 2013-07-08T07:10:29.003 回答