@Jastin

Почему выскакивает эта ошибка при INSERT INTO?

$sql = "INSERT INTO user(id, browser, group)
VALUES (NULL, '$user', '$table')"; 

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
   echo "Error: " . $sql . "<br>" . $conn->error;
}


testtableError: INSERT INTO user(id, browser, group) VALUES (NULL, 'test', 'table')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group) VALUES (NULL, 'test', 'table')' at line 1

Ничего не понимаю. Всё проверил уже сто раз. Точно такие же запросы прекрасно работают с другими таблицами. Почему MySQL решил покапризничать?
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 3
Fockker
@Fockker Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Потому что одинарные кавычки имеют в программировании определенный смысл, и их надо писать только там, где надо, а не просто добавлять от балды в код?
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
group зарезервированное слово, нужно `group`
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что group - зарезервированное слово в MySQL. Использовать его в качестве имени таблицы, колонки, индекса и т.п. можно только взяв в обратные апострофы.
https://dev.mysql.com/doc/refman/8.0/en/keywords.h...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы