MYSQLi 查询返回所有行并附加到数组

问题描述 投票:0回答:5

我正在尝试创建一个表中所有数据的数组。

到目前为止,我正在查询数据库,然后迭代数组以将每一行添加到其中。

但是我收到了一个以前从未见过的错误,并且无法弄清楚它的含义:

Fatal error: An iterator cannot be used with foreach

这是代码。我想逐行抓取整个表格,并将其附加到我的

$data
数组中,这样我就有了表格中完整数据的数组。

$result = mysqli_query($con, "SELECT * from everystory_Comp");
    foreach ($result as &$row){
        $row = mysqli_fetch_assoc($result);
        var_dump($row);
        array_push($data,$row);
    }
php arrays mysqli
5个回答
1
投票

您需要获取结果。用途:

while ($row = mysqli_fetch_assoc($res)) {
  //...  
}

1
投票

试试这个:

while($row = mysqli_fetch_array($result))
{
var_dump($row);
}

0
投票

试试这个:-

while ($row = mysqli_fetch_assoc($result)){
        var_dump($row);
        array_push($data,$row);
    }

0
投票

试试这个,应该有效。

<?php
    // code
    while($row=mysqli_fetch_assoc($result)) {
        $data[]=$row;
    }
    // code
?>

0
投票

通过 mysqli_fetch_all() 一次获取所有条目

$query = "SELECT * from everystory_Comp";
$result = $con->query($query);     
$asArray = $result->fetch_all(MYSQLI_ASSOC);

或者如果您使用的是准备好的语句:

$query = "SELECT * from everystory_Comp where countryCode = ?";

$stmt = $con->prepare($query); 
$stmt->bind_param("s", $countryCode);
$stmt->execute();

$resultSet = $stmt->get_result();
$asArray = $resultSet->fetch_all(MYSQLI_ASSOC);
© www.soinside.com 2019 - 2024. All rights reserved.