MySQL Query只抓取一行而不是多行。为什么?

时间:2012-04-10 19:13:07

标签: php mysql

我正试图通过MySQL数据库中的这些行抓取多行:

$msg_sql = "SELECT * FROM ".TABLE_PREFIX."quotes ORDER BY rand(curdate()) LIMIT 3";
$msg_res = mysqli_fetch_assoc(mysqli_query($link, $msg_sql));
print_r($msg_res);

然而,我只得到一排。这是:

Array ( [id] => 1 [message] => test_message [Link] => link here ) 

我希望获得多行(所以多个ID)

请告诉我我做错了什么。我还是MySQL新手。

2 个答案:

答案 0 :(得分:4)

您必须为获取的每一行循环一次。

$result = mysqli_query($link, $msg_sql);
while ($item = mysqli_fetch_assoc($result)) {
    print_r($item);
}

答案 1 :(得分:1)

您需要循环搜索结果:

$results = mysqli_query($link, $msg_sql);
while ($msg_res = mysqli_fetch_assoc($results))
{
    print_r($msg_res);
}