【问题标题】:Im only getting one set of result when trying to use mysql_fetch_array()尝试使用 mysql_fetch_array() 时我只得到一组结果
【发布时间】:2011-11-08 14:24:31
【问题描述】:
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 上是错误的。
您的帮助将不胜感激和奖励!谢谢! :)

【问题讨论】:

    标签: php javascript mysql


    【解决方案1】:

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

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

    【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      你需要把 mysql_fetch_array($result) 放在一个循环中

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-11-30
        • 1970-01-01
        • 1970-01-01
        • 2018-06-25
        • 1970-01-01
        • 2020-06-02
        • 2020-09-28
        相关资源
        最近更新 更多