Фатальная ошибка: Неперехваченная ошибка: Объект PDOStatement класса не удалось преобразовать в строку

#php #mysql #pdo

Вопрос:

 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();
    }
}
 

Это дает ошибку:

Фатальная ошибка: Неперехваченная ошибка: Объект PDOStatement класса не удалось преобразовать в строку

Я хочу обновить данные в БД. Но это дает мне ошибку исключения PDO.

Я не знаю, в чем проблема, я ценю любую помощь.

Комментарии:

1. Что вы пытались сделать, чтобы устранить проблему? Что же echo $stmt делать?

Ответ №1:

Я думаю, это может быть потому, что это заканчивается в вашем catch .

Затем он говорит echo $stmt . "<br>" . $e->getMessage(); . Вы пытаетесь повторить $stmt (будучи объектом класса PDOStatement). Вы не можете повторить объект.

Попробуйте var_dump($stmt); проверить, верно ли вышесказанное. Если это так, просто удалите echo $stmt «о», и вы должны быть хорошими.