我只是在尝试使用mysql_fetch_array()时得到一组结果

时间:2011-11-08 14:24:32

标签: php javascript mysql

function GetVideoInfo( $video_id, $user_id ) 
{
    $result = mysql_query("SELECT * FROM `mytable` 
                            WHERE 
                                video_id = '$video_id' 
                            AND 
                                user_id = '$user_id'") 
                                or die( mysql_error() );

        return mysql_fetch_array( $result );
}

$videoRecepients = $viddler_custom->GetVideoRecepients( $video_details['id'] );

echo "<pre>";
print_r($videoRecepients);
echo "</pre>"

当我尝试使用print_r时,它只会在表格中产生一行。我的预期结果应该有2个结果。我100%确定我的查询是正确的,所以这不是问题。我在想我的mysql_fetch_array可能是错的。
非常感谢您的帮助和奖励!谢谢! :)

3 个答案:

答案 0 :(得分:2)

所有的fetch函数都会返回一行,你需要循环,直到结果为空(snippet from php.net)。

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("ID: %s  Name: %s", $row["id"], $row["name"]);
}

答案 1 :(得分:1)

manual页面上的示例,mysql_fetch_array返回有关$ result对象的当前指针的信息。这意味着你想要遍历结果,直到你获取所有内容。

while ($row=mysql_fetch_array($result)) {
    $set[] = $row;
}
print_r($set);

答案 2 :(得分:1)

您需要将mysql_fetch_array($ result)放入循环

while($row = mysql_fetch_array($result))
{
   // do something with $row
}