我正在尝试创建一个表中所有数据的数组。
到目前为止,我正在查询数据库,然后迭代数组以将每一行添加到其中。
但是我收到了一个以前从未见过的错误,并且无法弄清楚它的含义:
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);
}
您需要获取结果。用途:
while ($row = mysqli_fetch_assoc($res)) {
//...
}
试试这个:
while($row = mysqli_fetch_array($result))
{
var_dump($row);
}
试试这个:-
while ($row = mysqli_fetch_assoc($result)){
var_dump($row);
array_push($data,$row);
}
试试这个,应该有效。
<?php
// code
while($row=mysqli_fetch_assoc($result)) {
$data[]=$row;
}
// code
?>
通过 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);