我试图找到我的方法的替代方法,以便为特定用户获取其会话等于其用户名的函数中的所有数据。
它一直正常工作,直到我移动托管,现在它抛出错误。以下代码是我在旧托管上使用时正常工作的代码:
$username = 'Benza';
$query = "SELECT id, username, password, email, ip, lastonline, rank, register_time FROM users_ WHERE username = '$username'";
$result = $con->query($query);
return $result->fetch_all();
它说:Call to a member function fetch_all() on boolean
。
当我尝试以下内容时:
$username = 'Admin';
$query = "SELECT id, username, password, email, ip, lastonline, rank,
register_time FROM users_ WHERE username = '$username'";
$result = $con->query($query);
$data = mysqli_fetch_all($result,MYSQLI_ASSOC);
return $data;
我得到
Warning: mysqli_fetch_all() expects parameter 1 to be mysqli_result, boolean given
Warning: Invalid argument supplied for foreach()
我正在调用我的foreach函数,如下所示(因为上面的代码在同一个类中的函数中):
$users = $this->grabUserInfos($con);
foreach ($users as $user) {
$username = $user[1];
$email = $user[3];
}
答案 0 :(得分:0)
问题似乎是执行查询的部分不再起作用了:
$result = $con->query($query);
你在$ result中有一个布尔值的事实意味着查询函数出了问题。因此,fetch_all和mysqli_fetch_all()函数无法正常工作。
您应该查看该部分并找出查询失败的原因。