0

我有一个选择查询说

 $query = "select name from class";
 $equery = mysql_query($query);
 $v = mysql_fetch_array($equery);    
 print_r($v['name']);

我的数据库中有 10 条记录,但总是只得到一个值。有没有其他方法可以以数组格式检索我的列。

4

6 回答 6

2

你需要循环它。

$query = "select name from class";
$equery = mysql_query($query);
$result = array();
while ($row = mysql_fetch_array($equery)) {
    $result[] = $row['name'];
}
print_r($result);    
于 2012-09-27T15:10:39.447 回答
1

不要使用mysql扩展,因为它已被弃用。您应该使用mysqli_result::fetch_allmysqli扩展名,或PDOStatement::fetchAllPDO扩展名

于 2012-09-27T15:12:35.877 回答
0

将所有内容放在一个LOOP中:

<?php

  while($v = mysql_fetch_array($equery);) {
  print_r($v['name']);
}
?>
于 2012-09-27T15:11:27.533 回答
0
 $query = "select name from class";
 $equery = mysql_query($query);

 $v=null;
 $index=0;
 while($row = mysql_fetch_array($equery,MYSQL_ASSOC)){
     $v[$index++]=$row;
 }    
于 2012-09-27T15:11:32.290 回答
0

除了其他正确的答案之外:您不应该真正使用任何旧mysql命令,因为它们正在被贬值。你应该检查mysqliPDO

于 2012-09-27T15:13:25.207 回答
0

你基本上不需要循环它,如果你只有一行输出,这种方式很好,但如果你有更多,你需要循环。

$a=mysql_fetch_array($resource)

返回第一行,循环

while($row=mysql_fetch_assoc($resource))
{
echo ($row['name']);
}

mysql_fetch_assoc 以关联数组的形式返回输出。我在所有 mysql 帖子上一直这么说,尝试切换到 PDO。 不鼓励使用 mysql_query。这意味着它的支持可能很快就会被删除。

http://php.net/manual/en/function.mysql-query.php

于 2012-09-27T15:16:30.230 回答