它只是从表中获取第一个元素。 表名是包含2列的类别:id,category
我无法理解为什么只从表中获取第一行。
<?php
$sql = "SELECT category FROM categories";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
//print_r($row);
?>
答案 0 :(得分:5)
您需要迭代通过结果集才能检索所有行。
while($row = mysql_fetch_assoc($result)) {
print($row);
}
此外,请停止使用mysql_
个功能。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。
答案 1 :(得分:1)
在while循环中使用它:
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
答案 2 :(得分:0)
就像你写的mysql_fetch_assoc($result);
只会得到一行一样。你必须使用循环才能完成所有工作。
答案 3 :(得分:0)
如果你只调用一次mysql_fetch_assoc,你将只获得第一行......
while(false !== $row = mysql_fetch_assoc($result)) {
print_r($row)
}
答案 4 :(得分:0)
您正在使用的功能仅执行一条记录。
尝试。 ..while($ row = mysqli_fetch_array($ result))
{
echo $ row ['id']。 “”。 $行[ '分类'];
echo“
”;
}
答案 5 :(得分:0)
用于检索结果集根据需要使用循环
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'];
}