Why am I getting a "Fatal error: Call to a member function fetch_assoc() on a non-object"?

Why am I getting a "Fatal error: Call to a member function fetch_assoc() on a non-object"?

我在这个项目中工作,它是一个 Android 登录应用程序。它从在线服务器获取数据。

注册有效,数据库得到更新,但登录无效。 我们正在使用 JSON 来解析从服务器到应用程序的数据。

这是我的 PHP 代码:

public function getUserByEmailAndPassword($email, $password) {

    $stmt = $this->conn->prepare("SELECT * FROM user_info WHERE email = ?");

    $stmt->bind_param("s", $email);

    if ($stmt->execute()) {
        $user = $stmt->bind_result()->fetch_assoc();
        $stmt->close();
        return $user;
    } 
    else {
        return NULL;
    }
}

我得到的错误如下:

Fatal error: Call to a member function fetch_assoc() on a non-object.

bind_result() 不是您想要的方法。该方法(顺便说一下,returns 是一个布尔值)允许您将变量分配给查询中返回的列。您的查询使用 SELECT *,因此您不能使用 bind_result()

你要的是用get_result(). This requires the mysqlnd driver安装

$user = $stmt->get_result()->fetch_assoc();