mysql_fetch_array只返回一行

好的,我有以下代码:

$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); 

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

但是,如果我通过PHPMyAdmin运行上述查询,它将返回一个包含10个项目的列表。 为什么这不被认为是10个项目的数组,允许我回声0-9?

谢谢您的帮助。

这是因为数组表示返回结果集中的单个行。 您需要再次执行mysql_fetch_array()函数以获取下一条logging。 例:

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

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

 $array_result = array(); while ($row = mysql_fetch_array($array, MYSQL_NUM)) { $array_result[] = $row; } echo $array_result[4]; 

我宁愿使用这个代码:

 $query = "SELECT artist FROM directory WHERE artist LIKE 'a%' OR artist LIKE 'b%' OR artist LIKE 'c%'"; $result = mysql_query($query) or die(mysql_error()); while(list($artist) = mysql_fetch_array($result)) { echo $artist; } 

如果你添加更多的字段到你的查询只是添加更多的variables列表($艺术家,$ field1,$ field2等…)
我希望它有助于:)