如何迭代MySQLi结果集中的结果?

2022-06-21 00:00:00 loops while-loop php mysqli resultset

我想遍历以下查询的结果集:

select uid from userbase

我当前使用以下循环,但我只能获得第一个值。

$i = 0;
$output = mysqli_query($mysqli, "select uid from userbase");
while ($row = $output->fetch_array()) {
    $deviceToken = $row[$i];
    echo $deviceToken;
    $i++;
}

可能是什么问题?是fetch_array()吗?


解决方案

您需要定义一个数组并将数据存储到循环内的数组中。 使用MYSQLI_ASSOC无需递增的值

$deviceToken=array();
while ($row = $output->fetch_array(MYSQLI_ASSOC)) {
    $deviceToken[] = $row['uid'];
}
print_r($deviceToken);
for($i=0;$i<=count($deviceToken);$i++){
echo $deviceToken[$i];
}

相关文章