Следующий код на обновление выдает ошибку:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 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 'WHERE id = ?' at line 1 in D:\OP\OSPanel\domains\bot\db.php:24 Stack trace: #0 D:\OP\OSPanel\domains\bot\db.php(24): PDO->prepare('UPDATE posts SE...') #1 D:\OP\OSPanel\domains\bot\update.php(62): connection->prepare('UPDATE posts SE...', Array)$data = $_POST;
$getId = $_GET['id'];
$values = [
'title' => $data['title'],
'description' => $data['description'],
'text' => $data['text'],
'author_id' => $_SESSION['user']['id'],
'id' => $getId
];
$sqlUp = "UPDATE posts SET title = :title, description = :description, text = :text, date = NOW(), author_id = :author_id WHERE WHERE id = :id";
$result = $db->prepare($sqlUp, $values);
Метод :
public function prepare($sql, $values) {
$sth = $this->connect()->prepare($sql);
$result = $sth->execute($values);
return $result;
}
Я так понимаю, значение $getId после нажатия на кнопку сбрасывается и запросу неоткуда брать id записи, но такая же ошибка возникает и при явном указание айдишника.
Пробовал сессии
$_SESSION['getId'] = $_GET['id'];
$getId = $_SESSION['getId'];