繁体   English   中英

INSERT查询上的MySQL语法错误

[英]MySQL Syntax Error on INSERT Query

运行一个MySQL INSERT查询,其中只有3个动态变量是一个电子邮件地址和2个date('Ymd 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查询都能正常工作。

它应该是:

$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,它们支持参数化查询而不是插值到字符串中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM