mysql_query()返回语法错误

时间:2013-03-20 10:46:49

标签: mysql

我遇到的SQL查询只是一个小问题。它返回语法错误,在搜索了一段时间后,我找不到问题。你们中的任何人都能找到它吗?

查询:

INSERT INTO `blogposts` (id,'author','subject','content',date) VALUES (2,$author,$subject,$content,$date)

从表单中收到变量$author$subject$date。它们是字符串,$date是日期,数字2是数字。

2 个答案:

答案 0 :(得分:1)

您需要用`:

括起字段
INSERT INTO `blogposts` (`id`, `author`, `subject`, `content`, `date`) VALUES (2,'$author','$subject','$content,$date')

如果ID是自动递增,则不应设置它,或者将值设置为0。 确保你逃避变量。安全原因。

尝试迁移到PDO。

答案 1 :(得分:1)

引用你的意见:

INSERT INTO `blogposts` (`id`,`author`,`subject`,`content`,`date`) VALUES (2,'$author','$subject','$content','$date')

请记住逃避它们或使用准备好的声明。更重要的是,停止使用mysql_query()!改为使用MySQLi / PDO。

旁注: mysql_query()将在PHP 5.5.0版本中弃用