好的,我有以下代码:
$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);然后,当我尝试回显内容时,我只能回显输出第一项的$array_result[0];,但是如果我回显$array_result[1];,我得到一个未定义的偏移量。
但是,如果我通过PHPMyAdmin运行上面的查询,它将返回一个包含10个项目的列表。为什么这不能被识别为一个10项的数组,允许我回显0-9?
谢谢你的帮助。
发布于 2011-08-10 02:51:30
这是因为该数组表示返回结果集中的一行。您需要再次执行mysql_fetch_array() function以获取下一条记录。示例:
while($data = mysql_fetch_array($array)) {
//will output all data on each loop.
var_dump($data);
}发布于 2011-08-10 02:58:45
您应该使用while来获取所有数据。
$array_result = array();
while ($row = mysql_fetch_array($array, MYSQL_NUM)) {
$array_result[] = $row;
}
echo $array_result[4];发布于 2011-08-10 03:03:25
我更喜欢使用下面的代码:
$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;
}如果向查询添加更多字段,只需向列表($artist、$field1、$field2等)添加更多变量
我希望它能有所帮助:)
https://stackoverflow.com/questions/7001320
复制相似问题