INSERT查询的MySQL语法错误

时间:2013-08-30 19:52:24

标签: php mysql

运行MySQL INSERT查询,其中只有3个动态变量是电子邮件地址和2个日期('Y-m-d H:i:s')字段。

我收到了错误:

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的“LIST_SUBSCRIBER”附近使用正确的语法

我的查询:

$today = date('Y-m-d H:i:s');

INSERT INTO subscriber_table (
  list_subscriber, user_subscriber, robot_subscriber, date_subscriber,
  update_subscriber, visibility_subscriber, reception_subscriber,
  subscribed_subscriber, included_subscriber
)
VALUES (
  'newsletter', $email, 'listserv.valoans.com', $today, $today, 'conceal', 'mail', '1', '0'
)

所有SELECT查询都能正常工作。

1 个答案:

答案 0 :(得分:2)

应该是:

$sql = "INSERT INTO subscriber_table(list_subscriber, user_subscriber,
                                     robot_subscriber, date_subscriber,
                                     update_subscriber, visibility_subscriber, 
                                     reception_subscriber, subscribed_subscriber,
                                     included_subscriber)
        VALUES('newsletter', '$email', 'listserv.valoans.com',
               '$today', '$today', 'conceal', 'mail',' 1', '0')";

另外,请确保先使用以下内容$email转义:

$email = mysql_real_escape_string($email);

但是,如果你使用mysqli或PDO会更好,它支持参数化查询而不是插入字符串。