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等…)
我希望它有助于:)