Я пытаюсь обновить свой пост. и я думаю, что в моем коде нет ошибок. Я попробовал почти все. но это все еще показывает эту ошибку.
Uncaught PDOException: SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 В синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с '' в строке 1 в C: \ xampp \ htdocs \ x \ edit.php: 4 Трассировка стека: # 0 C: \ xampp \ htdocs \ x \ edit.php (4): запрос PDO-> ('SELECT * FROM p ...') # 1 {main} в C: \ xampp \ htdocs \ x \ edit.php в строке 4
Какой смысл, что я делаю не так?
$id = $_GET["id"];
$sql = $database->query("SELECT * FROM post WHERE id=$id");
$sql->setFetchMode(PDO::FETCH_ASSOC);
foreach ($sql as $x) {
$post_id = $x["id"];
$post_title = $x["post_title"];
$post_text = $x["post_text"];
}
if (isset($_POST["update_post"])) {
$new_post_title = $_POST["itemName"]."[UPDATED]";
$new_post_text = $_POST["itemInfo"];
try {
$u_post = $database->prepare("UPDATE post SET post_title=:p_title,post_text=:p_text WHERE id=$id");
$u_post->execute(array(":p_title"=>$new_post_title,":p_text"=>$new_post_text));
if ($u_post) {
header("location:showpost.php");
}else {
echo "Failed";
}
} catch (Exception $e) {
print $e->getMessage();
}
}