php - mysqli_fetch_assoc() 不返回任何东西

标签 php mysql row

这不是我第一次使用 mysqli_fetch_assoc() 获取一行的特定列。出于某种原因,我无法弄清楚为什么这次它不起作用。这是我的代码:

$sql    = "SELECT * FROM database.table WHERE PushNumber > 0";
$result = $conn->query($sql);

if($result->num_rows > 0) {
    while($row = mysqli_fetch_array($result)) {
        // This will loop through each row, now use your loop here
        $row = mysqli_fetch_assoc($result);
        $pushNumber = $row['PushNumber'];
        $followingIDs = $row['FollowingIDs'];
        $usernameID = $row['Username'];
        error_log("'$pushNumber", 0);
        error_log("'$usernameID", 0);
    }
}

我的表中有一行 PushNumber 大于 0$pushNumber(类型:int) 和 $usernameID(类型:string)被打印在错误日志中,并且都被打印为:'' AND I不知道为什么!没有拼写错误,我知道那行 PushNumber 等于 1Username 等于 @yo。任何建议将不胜感激,请帮助。谢谢!

最佳答案

您似乎将两组完全不同的值分配给 $row 变量。

$row = mysqli_fetch_array($result) 将整个数组传输到 $row,但随后在循环中使用 $row = mysqli_fetch_assoc($result) 进行传输将单个记录放入 $row,这很可能会导致循环中断。

试试这个:

if($result->num_rows > 0) 
{
    while($row = mysqli_fetch_assoc($result)) 
    {
        // This will loop through each row, now capture each row's data here
        $pushNumber = $row['PushNumber'];
        $followingIDs = $row['FollowingIDs'];
        $usernameID = $row['Username'];
        error_log($pushNumber, 0);
        error_log($usernameID, 0);
    }
}

关于php - mysqli_fetch_assoc() 不返回任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37106990/

相关文章:

colors - wxPython wxListCtrl 选中的行颜色

c++ - 返回二维 vector 的结束索引

php - 如何在yii框架网格的一列中放置两个imagelink?

php - 如何检查非关联数组在 PHP 中是否唯一?

python - 使用Python更新mysql错误

mysql - 按优先级分组

MySQL - 在两行的一列中显示来自两个表的数据

javascript - 类似 Twitter 的推文框?

php - 在无向图中查找路径

javascript - 使用 JavaScript 解析 Apache 日志时间戳