我在这个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.
答案 0 :(得分:1)
bind_result()
不是您想要的方法。该方法(顺便返回一个布尔值)允许您将变量分配给查询中返回的列。您的查询使用SELECT *
,因此您无法使用bind_result()
。
您想要的是使用get_result()
。这需要安装mysqlnd driver。
$user = $stmt->get_result()->fetch_assoc();