我正在尝试更新我的帖子。而且我认为我的代码中没有错误。我几乎尝试了一切。但它仍然显示此错误。
未捕获的PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有错误;该错误可能会导致错误。检查与您的MariaDB服务器版本相对应的手册以获取正确的语法以在C:\ xampp \ htdocs \ x \ edit.php:4的第1行的''附近使用:堆栈跟踪:#0 C:\ xampp \ htdocs \ x \ edit.php(4):PDO-> query('SELECT * FROM p ...')#1 {main}抛出在第4行的C:\ xampp \ htdocs \ x \ edit.php中
我做错了什么意思?
$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();
}
}