mysql_fetch_array拉的结果比应该的少

时间:2011-05-04 22:43:18

标签: php mysql

我有以下代码:

$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.任何帮助?

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分: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);
    }

答案 2 :(得分: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);