这个查询没有问题,因为当我使用print_r时,它会打印出三个不同的数组,我只是想知道我在这里缺少了什么来使这个foreach工作,就像现在我收到了一个错误……
警告:为第11行的C:\xampp\htdocs\myshop\admin\account_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>';
?>发布于 2013-08-25 16:14:44
实际上,在查询完成后才调用foreach,此时$final_result是FALSE。foreach (false as $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>';发布于 2013-08-25 16:14:27
$final_result不是数组,而是数组的一个元素,而不是只写-
$final_result = $query->fetch_all(MYSQLI_ASSOC);https://stackoverflow.com/questions/18431005
复制相似问题