繁体   English   中英

mysqli_fetch_assoc()不返回任何东西

[英]mysqli_fetch_assoc() not returning anything

这不是我第一次使用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 )被打印在错误日志中,并且都打印为: '' 并且我不知道为什么! 没有拼写错误,我知道在这一行中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);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM