Php 插入查询时出现MySQL语法错误
运行MySQL INSERT查询,其中只有3个动态变量是电子邮件地址和2个日期('Y-m-dh:i:s')字段 我得到了一个错误: 您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第1行“LIST_SUBSCRIBER”附近使用的正确语法 我的问题是: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
$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'(注意引号)将被视为日期(或至少是字符串)。