2011-05-04 19 views
0

我有以下代碼:mysql_fetch_array拉較少的結果比它應該

$mostRecent = mysql_query("SELECT couponID FROM users_coupons WHERE userID = '$userID' ORDER BY id LIMIT 3"); 
    while($row = mysql_fetch_array($mostRecent)) 
    { 
     $mostRecentArr = $row; 
    } 
    var_dump($mostRecentArr); 

在命令行相同的SQL查詢返回3個結果,但是這個代碼只返回一個結果,即使我把LIMIT 3。任何幫助?

+1

'$ mostRecentArr [] = $行;' – 2011-05-04 22:45:21

+0

我知道我忘記簡單的東西,謝謝。 – AKor 2011-05-04 22:46:36

回答

4
while($row = mysql_fetch_array($mostRecent)) 
    { 
     $mostRecentArr[] = $row['couponID']; 
    } 
2

您每次重新分配循環中的值,然後轉儲最後一個值。賦值後,將var_dump放入循環中。像這樣:

$mostRecent = mysql_query("SELECT couponID FROM users_coupons WHERE userID = '$userID' ORDER BY id LIMIT 3"); 
    while($row = mysql_fetch_array($mostRecent)) 
    { 
     $mostRecentArr = $row; 
     var_dump($mostRecentArr); 
    } 
1

我猜你有什麼要做的是:

$mostRecent = mysql_query("SELECT couponID FROM users_coupons WHERE userID = '$userID' ORDER BY id LIMIT 3"); 
$mostRecentArr = array(); 
while($row = mysql_fetch_array($mostRecent)) 
{ 
    $mostRecentArr[] = $row; 
} 
var_dump($mostRecentArr);