2012-10-01 45 views
0

可能重複:
Looping through mysql_fetch_array in PHPmysql_fetch_array只打印第一個結果

我有一個簡單的連接查詢應該在foreach循環呼應了每個陣列結果。該數組不是空的。打印數組數有效 - 有801個結果。但是,實際上打印出上面或在foreach內的行僅打印第一個結果。任何幫助,將不勝感激。

$listQuery = "SELECT r.email_address 
      FROM wholesale_accounts a 
      LEFT JOIN wholesale_register r ON r.register_id = a.register_id 
      WHERE r.email_address != '' 
      ORDER BY r.email_address";    
$listResult = mysql_query($listQuery); 
//print_r($listResult); // prints (Resource ID #21) 
//exit; 

$rows = mysql_fetch_array($listResult, MYSQL_ASSOC); 
$count = mysql_num_rows($listResult); 
//print_r($count); // prints 801 
print_r($rows); // only prints first email address 
exit; 

foreach($rows as $row) { 
    print_r($row); // prints email address   
} 
+0

這是更好地爲您挑選一本好書或教程您所選擇的,而不是交任何語言像這樣的問題。它表明你沒有注意到你閱讀的內容,或者你沒有去理解事情的工作方式。技術正在快速發展,這是一個很老的問題 - 擁抱PDO或MySQLi – codingbiz

+0

感謝@codingbiz。這聽起來像你需要更多的信息。我正在嘗試修復一個我沒有構建的舊網站的碎片。這是我的主要工作描述。如果我建立了這個網站,那就是PDO。我已經調試了很多方式 - 這就是爲什麼我在這裏發佈。但是,無論如何感謝您的意見。 – deewilcox

+0

我對你的伴侶是誠實的。當我幾個月前加入時,我瞭解到了真相 - 我們需要能夠捍衛我們所知道的知識,以便其他人可以從我們那裏學習並相信我們的判斷。希望你解決了這個問題? :) – codingbiz

回答

3

mysql_fetch_array每次會獲得一個行,所以你需要把它放在一個循環

while($rows = mysql_fetch_array($listResult, MYSQL_ASSOC)) 
{ 
    print_r($rows); 
} 
+0

'while'循環並沒有完全得到它,但是使用'list()'來處理它。這是我結束了: '而(名單($ EMAIL_ADDRESS)=和mysql_fetch_row($ listResult)){\t \t \t \t回聲$ EMAIL_ADDRESS。 '
'; }' – deewilcox