Fatal error: Uncaught Error: Object of class PDOStatement could not be converted to string

Fatal error: Uncaught Error: Object of class PDOStatement could not be converted to string

if (isset($_POST['pf1'])) {
    try {
        $stmt = $conn->prepare( "UPDATE t1
                SET pref1 = :pf1, 
                WHERE id = 1 ");
        $stmt->bindParam(':pf1', $_POST['pf1']);
        $stmt->execute();
        echo "pf1";

    } catch(PDOException $e) {
        echo $stmt . "<br>" . $e->getMessage();
    }
}

给出错误:

Fatal error: Uncaught Error: Object of class PDOStatement could not be converted to string

我想更新数据到数据库。但它给了我 PDO 异常错误。

我不知道出了什么问题,如有任何帮助,我们将不胜感激。

我认为这可能是因为它最终出现在您的 catch 中。

然后显示 echo $stmt . "<br>" . $e->getMessage();。 您正在尝试回显 $stmt(作为 class PDOStatement 的对象)。您不能回显对象。

尝试var_dump($stmt);检查以上是否正确。如果是这种情况,只需删除 $stmtecho 就可以了。