我不理解“php pdo错误处理程序”的错误

2skhul33  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(203)

我正在更新我的帖子。我认为我的代码没有错误。我几乎什么都试过了。但它仍然显示了这个错误。
uncaughtpdoexception:sqlstate[42000]:语法错误或访问冲突:1064您的sql语法有错误;在c:\xampp\htdocs\x\edit的第1行的“”附近,检查与您的mariadb服务器版本相对应的手册,以获取要使用的正确语法。php:4 stack trace:#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();
    }
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题