0

このクエリに問題はありませんprint_r.3つの異なる配列を使用すると出力されるため、現在エラーが発生しているため、これを機能させるためにここで何が欠けているのか疑問に思ってforeachいます...

警告: C:\xampp\htdocs\myshop\admin\account_list.php の 11 行目の 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>';
?>
4

2 に答える 2

4

そのままでは、foreachクエリが完了するまで呼び出すことはありません。 実際、無効です。$final_resultFALSEforeach (false as $result)

2 つのループを結合する必要があります。

$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>';
于 2013-08-25T16:14:44.017 に答える
0

$final_resultは配列ではなく、配列の要素です。

$final_result = $query->fetch_all(MYSQLI_ASSOC);
于 2013-08-25T16:14:27.693 に答える