Php foreach的参数无效

Php foreach的参数无效,php,Php,这个查询没有问题,因为当我使用print\r时,它会打印出三个不同的数组,我只是想知道我在这里缺少什么来让这个foreach工作,因为现在我得到了一个错误 警告:为第11行的C:\xampp\htdocs\myshop\admin\account\u list.php中的foreach()提供的参数无效 <?php $account_list = "SELECT * FROM accounts"; $query = $connect->query($account_list);

这个查询没有问题,因为当我使用
print\r
时,它会打印出三个不同的数组,我只是想知道我在这里缺少什么来让这个
foreach
工作,因为现在我得到了一个错误

警告:为第11行的C:\xampp\htdocs\myshop\admin\account\u list.php中的foreach()提供的参数无效

<?php 

$account_list = "SELECT * FROM accounts";
$query = $connect->query($account_list);
while  ($final_result = $query->fetch_array(MYSQLI_ASSOC)) {
// echo '<pre>';
// print_r($final_result);
// echo '</pre>';
}
echo '<table><tbody>';
foreach ($final_result as $result) {
echo '<tr><td>'.$result['id'].'</td>
<td>'.$result['firstname'].'</td>
<td>'.$result['lastname'].'</td>
<td>'.$result['email'].'</td>
<td>'.$result['address'].'</td>';
}
echo '</body></table>';
?>

$final\u result
不是一个数组,而是数组的一个元素,而不仅仅是写入-

$account_list = "SELECT * FROM accounts";
$query = $connect->query($account_list);

echo '<table><tbody>';

$final_result = false;

while  ($result = $query->fetch_array(MYSQLI_ASSOC)) {
  // echo '<pre>';
  // print_r($final_result);
  // echo '</pre>';

  $final_result = $result;

  echo '<tr><td>'.$result['id'].'</td>
  <td>'.$result['firstname'].'</td>
  <td>'.$result['lastname'].'</td>
  <td>'.$result['email'].'</td>
  <td>'.$result['address'].'</td>';
}

echo '</body></table>';

$final_result
不是一个数组,而是数组的一个元素,而不仅仅是写入-

$account_list = "SELECT * FROM accounts";
$query = $connect->query($account_list);

echo '<table><tbody>';

$final_result = false;

while  ($result = $query->fetch_array(MYSQLI_ASSOC)) {
  // echo '<pre>';
  // print_r($final_result);
  // echo '</pre>';

  $final_result = $result;

  echo '<tr><td>'.$result['id'].'</td>
  <td>'.$result['firstname'].'</td>
  <td>'.$result['lastname'].'</td>
  <td>'.$result['email'].'</td>
  <td>'.$result['address'].'</td>';
}

echo '</body></table>';

实际上,在查询完成之前,您不会调用
foreach
,此时
$final\u result
FALSE
foreach(false为$result)
实际上是无效的

您将需要合并这两个循环:

$account\u list=“从accounts中选择*”;
$query=$connect->query($account\u list);
回声';
$final_result=false;
而($result=$query->fetch_数组(MYSQLI_ASSOC)){
//回声';
//打印(最终结果);
//回声';
$final_result=$result;
回显'.$result['id'].'
“.$result['firstname']”
“.$result['lastname']”
“.$result['email']”
“.$result['address']”;
}
回声';

实际上,在查询完成之前,您不会调用
foreach
,此时
$final\u result
FALSE
foreach(false为$result)
实际上是无效的

您将需要合并这两个循环:

$account\u list=“从accounts中选择*”;
$query=$connect->query($account\u list);
回声';
$final_result=false;
而($result=$query->fetch_数组(MYSQLI_ASSOC)){
//回声';
//打印(最终结果);
//回声';
$final_result=$result;
回显'.$result['id'].'
“.$result['firstname']”
“.$result['lastname']”
“.$result['email']”
“.$result['address']”;
}
回声';

$result=$final\u result在循环中丢失+一个好的答案
$result=$final\u result在循环中丢失+1对于一个好的答案
fetch\u array
返回一行,因此要使此答案正确,您需要使用
fetch\u all
fetch\u array
返回一行,因此要使此答案正确,您需要使用
fetch\u all