Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 插入查询时出现MySQL语法错误_Php_Mysql - Fatal编程技术网

Php 插入查询时出现MySQL语法错误

Php 插入查询时出现MySQL语法错误,php,mysql,Php,Mysql,运行MySQL INSERT查询,其中只有3个动态变量是电子邮件地址和2个日期('Y-m-dh: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

运行MySQL INSERT查询,其中只有3个动态变量是电子邮件地址和2个日期('Y-m-dh: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会更好,它们支持参数化查询,而不是插入字符串。

您需要在查询中的
$email
周围加引号吗?你也可以改用预先准备好的语句,它会帮你处理这类事情,并在$today日期前后报价
2013-08-31
将被定义为三项算术减法,并最终成为
1974
<代码>'2013-08-31'(注意引号)将被视为日期(或至少是字符串)。