#php #mysql
#php #mysql
Вопрос:
Привет всем, я пытаюсь обновить логическое значение в своей таблице, поэтому у меня была ошибка PDOException, и я не знаю, почему :
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax
Моя строка кода sql такова :
public function updateSignal(Comments $comment)
{
$req = 'UPDATE Comments SET signal = TRUE WHERE idComments = :comment';
$result = $this->getBdd()->prepare($req);
$result->bindValue(':comment', $comment->getIdComments());
return $result->execute();
}
Я не нахожу, где мой синтаксис ошибки, пожалуйста, нужна помощь, спасибо
Комментарии:
1. НЕ сокращайте сообщение об ошибке.
2. Какой тип возвращаемого
$comment->getIdComments()
символа «s» в комментариях заставляет его звучать как множественное число, поэтому он может возвращать массив. Также можете ли вы подтвердить, что$this->getBdd()
используется класс PDO, а не библиотека?3. Попробуйте изменить значение true на 1
Ответ №1:
SIGNAL
это зарезервированное слово. Лучше избегать этого, но вы можете использовать его, если обернете его в обратные ссылки.
$req = 'UPDATE Comments SET `signal` = TRUE WHERE idComments = :comment';
Комментарии:
1. @AlprodGrm Добро пожаловать. Пожалуйста, не забудьте принять ответ, нажав на галочку