【问题标题】:Alternate to foreach() - PHP替代 foreach() - PHP
【发布时间】: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];
}

【问题讨论】:

标签: php foreach fetchall


【解决方案1】:

问题似乎是执行查询的部分不再起作用了:

$result = $con->query($query);

$result 中有一个布尔值意味着查询函数出了问题。因此 fetch_all 和 mysqli_fetch_all() 函数不能正常工作。

您应该查看该部分并找出查询失败的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-09
    • 2021-12-20
    • 2018-07-02
    • 2013-01-12
    • 1970-01-01
    • 2021-07-12
    • 2019-09-17
    • 1970-01-01
    相关资源
    最近更新 更多