应该很简单,但我无法弄明白。我有一个函数,它返回一个从MySql数据库中获取的数组。返回的数组应该有2个元素。
这是功能:
function path_to_photo ($id)
{
$query = mysql_query("Select path from photos1 where listingsdb_id = $id");
$test_array = mysql_fetch_array($query);
return $test_array;
}
$one=2;
$test = path_to_photo($one);
echo $test[0]; // --> this works fine
echo $test[1]; //-->this gives an error - undefined offset etc.
起初我以为我的数组实际上只返回一个元素,但是当我放入
时$query = mysql_query("Select path from photos1 where listingsdb_id=$id");
$test_array = mysql_fetch_array($query);
return sizeof($test_array);
它给出了正确的2个数字。我只是不明白第二个索引会发生什么。这是MySQL中查询的输出
mysql> select path from photos1 where listingsdb_id=2;
+------------------+
| path |
+------------------+
| small_photo.jpg |
| big_photo.jpg |
+------------------+
答案 0 :(得分:2)
mysql_fetch_array
会返回一个数组,其中包含结果中下一行的数据。
您说Select path
,因此结果中只有一列,因此数组长度应为1
。
如果你想获得所有path
的数组,那么你将不得不创建一个空数组,然后反复调用mysql_fetch_array
,将每个条目放入先前提到过的数组,然后返回该数组。