[英]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
等于1
且Username
等于@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.