【发布时间】:2017-08-19 15:17:56
【问题描述】:
我正在尝试寻找一种替代方法,即在一个特定用户的函数中获取所有数据的方法,其中他们的会话等于他们的用户名。
在我移动主机之前它工作正常,现在它抛出错误。以下代码是我在旧主机上正常工作时使用的代码:
$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];
}
【问题讨论】:
-
$result = $con->query($query) 或 die($con->error);你看到了什么错误?
-
那是因为您的查询失败。解决这个问题
-
这真的是表名
users_?? -
@chris85 :) 将 OP 的评论视为福音是我的错 :) :) 我应该应用 Dr House 规则 1