Синтаксическая ошибка 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)