Mike CJ Ответов: 0

Синтаксическая ошибка SQLSTATE[42000]


У меня есть проблема с синтаксисом, и я понятия не имею, как ее исправить. Пожалуйста, помогите мне.

Ошибка: SQLSTATE[42000]: синтаксическая ошибка или нарушение доступа: 1064 у вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MariaDB для правильного синтаксиса для использования рядом с 'where idpost=' 2 " в строке 1
$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$zmienna = "INSERT INTO `comments` (`iduser`, `comment`, `nick_user`) VALUES (:iduser, :comment, :nick_user) where idpost= :idpost ";
$stmt = $PDO->prepare($zmienna);
$stmt->bindValue(':idpost', $article['id'], PDO::PARAM_INT );


Что я уже пробовал:

PDO::PARAM_INT
$zmienna = "INSERT INTO `comments` (`iduser`, `comment`, `nick_user`) VALUES (:iduser, :comment, :nick_user) where idpost= ".$article['id']." ";

j snooze

дополнительная двойная цитата? 2 должно быть строкой или целым числом? если это целое число, то нужны ли вам вообще эти двойные кавычки с пробелом в конце?

Mike CJ

Это целое число, нужно ли мне удалять лишние кавычки?

j snooze

Я бы сказал, Может быть, вместо$.статьи['идентификатор']"."; вы должны иметь .$статьи['идентификатор'].;
Не окружайте свой идентификатор статьи кавычками. Попробовать это.

Mike CJ

Теперь: ошибка синтаксического анализа: синтаксическая ошибка, неожиданное "(T_ENCAPSED_AND_WHITESPACE), ожидание " - " или идентификатора (T_STRING) или переменной (T_VARIABLE) или числа (T_NUM_STRING)

0 Ответов