mysql_fetch_array只返回一行

And*_*ndo 2 php mysql fetch

好的,我有以下代码:

$array = mysql_query("SELECT artist FROM directory WHERE artist LIKE 'a%' 
        OR artist LIKE 'b%' 
        OR artist LIKE 'c%'");
    $array_result= mysql_fetch_array($array);
Run Code Online (Sandbox Code Playgroud)

然后,当我尝试回显内容时,我只能回显$array_result[0];,它输出第一个项目,但如果我尝试回显,$array_result[1];我得到一个未定义的偏移量.

然而,如果我通过PHPMyAdmin运行上述查询,它将返回10个项目的列表.为什么这不被识别为10个项目的数组,允许我回显0-9?

谢谢您的帮助.

Dor*_*Dor 19

那是因为数组在返回的结果集中表示一行.您需要再次执行该mysql_fetch_array()函数以获取下一条记录.例:

while($data = mysql_fetch_array($array)) {
  //will output all data on each loop.
  var_dump($data);
}
Run Code Online (Sandbox Code Playgroud)


vei*_*lis 5

您应该使用while来获取所有数据。

$array_result = array();
while ($row = mysql_fetch_array($array, MYSQL_NUM)) {
    $array_result[] = $row;
}
echo $array_result[4];
Run Code Online (Sandbox Code Playgroud)