这不是我第一次使用 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
等于 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);
}
}
关于php - mysqli_fetch_assoc() 不返回任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37106990/