我很抱歉我的懒惰头衔。我希望主持人可以改进它,这样数据库就不会被感染。
我收到了以下代码( forum.php );
<?php
$res = $db->query('
SELECT *
FROM forums_categories
ORDER BY category_id
');
while ($row = $db->fetch_array($res)) {
$categories = array(
'ID' => $row['category_id'],
'NAME' => $row['category_name']
);
echo '<pre>';
print_r($categories);
echo '</pre>';
}
我得到了以下数据库结构;
|---------------|-------------------|
| category_id | category_name |
|---------------|-------------------|
| 1 | Example 1 |
| 2 | Example 2 |
| 3 | Example 3 |
| 4 | Example 4 |
| 5 | Example 5 |
| 6 | Example 6 |
|---------------|-------------------|
但是我的数组只返回1个值:
Array
(
[ID] => 1
[NAME] => Example 1
)
哦,如果有人想知道我$db->fetch_array
的样子:
<?php
function fetch_array($result)
{
return mysql_fetch_assoc($result);
}
如何返回数组中的所有行?感谢您阅读并感谢您的回复!
答案 0 :(得分:3)
您在每次迭代时覆盖了$categories
的先前值
$categories[] = array(
'ID' => $row['category_id'],
'NAME' => $row['category_name']
);
您可能还想初始化一个空数组
$categories = array();
在循环之前以避免警告。