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

时间:2018-09-05 16:06:07

标签: php mysql pdo

我正在尝试更新我的帖子。而且我认为我的代码中没有错误。我几乎尝试了一切。但它仍然显示此错误。

  

未捕获的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();
    }
}

0 个答案:

没有答案