Сообщение об ошибке, которое я получил:
У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса, используемого рядом с «словом», «группой», «самонаблюдением»). VALUES («элемент», «а», «примечание к себе») »в строке 1
Код PHP:
$toq="INSERT INTO articles ('word','group','selfnote') VALUES ('$ttle','$wrdr','$snote')";
Я пытался найти solutins, но они, похоже, не работали, как эхо дает:
INSERT INTO articles ('word','group','selfnote') VALUES ('item','a','note to self')
который кажется мне приятным. В чем проблема?
Используйте backticks `
вместо кавычек '
для удаления имен. Цитаты представляют собой разделители строк.
$toq="INSERT INTO articles (`word`,`group`, `selfnote`) VALUES ('$ttle','$wrdr','$snote')";
Вы помещаете кавычки в имена полей. Это заставляет MySQL обрабатывать их как строки, а не имена полей – и вы не можете вставлять их в строки.
INSERT INTO articles (word, group, selfnote) VALUES (....);
является правильным синтаксисом. Единственным типом цитирования, разрешенным для имен полей, является использование обратных шагов для выхода из зарезервированных текстовых полей, например
INSERT INTO articles (table, int, varchar) ...
будет сбой из-за использования 3 зарезервированных слов, но добавление backticks
INSERT INTO articles (`table`, `int`, `varchar`) ...
делает их приемлемыми как имена полей.
Вы не должны указывать имена столбцов с обычными кавычками ( ''
), а скорее использовать обратные обратные ( ``
).
Вы должны удалить или заменить кавычки имен столбцов обратными окнами (`). Поскольку «группа» является ключевым словом, вы должны использовать обратные ссылки:
INSERT INTO articles (`word`, `group`, `selfnote`) VALUES (....);