[英]mysql_fetch_array return only one row
好的,我有以下代碼:
$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?
謝謝您的幫助。
這是因為數組代表返回結果集中的一行。 您需要再次執行mysql_fetch_array()
function以獲得下一條記錄。 例子:
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;
}
如果您在查詢中添加更多字段,只需將更多變量添加到list($artist,$field1,$field2, etc...)
我希望它有幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.