它只是从表中获取第一个元素。表名是包含 2 列的类别:id、类别
我不明白为什么它只从表中获取第一行。
<?php
$sql = "SELECT category FROM categories";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
//print_r($row);
?>
在 while 循环中使用它:
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
对于检索结果集根据您的需要使用循环
foreach
在迭代长度未知(或可能未知)的数组时使用。作为
foreach($row as $val)
{
echo $val;
}
为了
在遍历设置了长度的数组时使用,或者在需要计数器时使用。
for(i=0;i<sizeof($row);i++)
{
echo $row[$i];
}
尽管
当您以查找或触发某个标志为明确目的而迭代数组时使用。
while($row=mysqli_fetch_array($query))
{
echo $row['flag'];
}
就像你写的那样mysql_fetch_assoc($result);
只会得到一排。你必须使用循环来得到它。
如果你只调用一次 mysql_fetch_assoc,你只会得到第一行......
while(false !== $row = mysql_fetch_assoc($result)) {
print_r($row)
}
您正在使用的功能只做一个记录。尝试。..while($row = mysqli_fetch_array($result)) { echo $row['id'] 。“”。$row['类别']; 回声“
”;}