2013-03-19 1 views
2

Ну, похоже, было много вопросов по этой теме, но мое странно. я запускаю этот запрос:Ошибка возврата SQL: Неизвестный столбец «g» в «списке полей»

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

И получить эту ошибку:

Unknown column 'g' in 'field list' 

У меня нет колонки «г» в моем столе, так что происходит?

+1

SQL-инъекция в действии? –

ответ

3

Если какая-либо из переменных, которые вы используете, это строки, они должны быть заключены в кавычки в запросе. Если одно из значений переменной - «g», и оно вставлено в запрос без кавычек, MySQL будет искать столбец «g».

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

ой ... ой, извините за этот вопрос, я так глуп. – imulsion

+0

Каждый раз иногда случается недоразумение ... ура :) – Adrian

+0

еще одна вещь: мой запрос изменен на: INSERT INTO 'blogposts' (id, 'author', 'subject', 'content', date) VALUES (2, $ автор, $ subject, $ content, $ date), но дает ошибку, говоря, что у меня что-то не так с моим синтаксисом. Что это? – imulsion

2

«дата» по крайней мере является зарезервированным словом, возможно, предмет вызывает проблемы. Попробуйте также использовать имена столбцов.

+0

Хороший улов, я этого даже не заметил. – Adrian

Смежные вопросы