2013-03-19 360 views
2

好吧,似乎有关于这个主题的许多问题,但我很奇怪。 我运行此查询:SQL返回错误:'字段列表'中的未知列“g”

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

而得到这个错误:

Unknown column 'g' in 'field list' 

我在表中没有列 'G',所以发生了什么?

+1

SQL注入操作? – 2013-03-19 21:28:35

回答

3

如果您使用的任何变量都是字符串,则需要在查询中用引号括起来。如果其中一个变量的值是“g”,并且它被插入查询而没有引号,MySQL将查找列“g”。

INSERT INTO `blogposts` (`id`,`author`,`subject`,`content`,`date`) VALUES (2,"$author","$subject","$content","$date") 
+0

哦......哎呀,对不起这个问题,我太蠢了。 – imulsion 2013-03-19 21:27:43

+0

有时每个人都会疏忽...干杯:) – Adrian 2013-03-19 21:28:42

+0

还有一件事:我的查询改为:插入'blogposts'(id,'author','subject','content',date)VALUES(2,$作者,$主题,$内容,$日期),但给错误说我的语法有问题。它是什么? – imulsion 2013-03-20 10:34:42

2

“日期”至少是一个保留字,可能引起问题的主题。也请尝试反驳列名称。

+0

好,我甚至没有注意到。 – Adrian 2013-03-19 21:38:11

相关问题