致命错误:fetch()

时间:2013-12-10 21:14:31

标签: php mysql pdo fetch fatal-error

我有以下代码段。当我运行整个程序时,它在此部分失败并出现错误Fatal error: Call to a member function fetch() on a non-object in <filename> on line 26。我真的不确定应该怎么做才能解决这个问题。如果重要的话,我会对我的数据库运行SQL查询,它会返回它应该的内容。

if(isset($_POST['submit'])) {
        $query = 'SELECT email FROM users WHERE email=:email';
        $query_params = array(':email' => $_POST['email']);

        try {
            $stmt = $conn->prepare($query);
            $result = $stmt->execute($query_params);
        } catch(PDOException $ex) {
            echo $ex->getMessage();
        }

        $row = $result->fetch();   //fails on this line

        if(empty($results)) {
            $passset = 1;
        }
    }

1 个答案:

答案 0 :(得分:2)

PDOStatement::execute返回TRUE或FALSE,而不是结果对象。

改变这个:

$row = $result->fetch();

对此:

$row = $stmt->fetch();