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();
我在这个项目中工作,它是一个 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();