循环遍历MySQL结果PHP

时间:2015-07-16 08:07:31

标签: php mysql

所以,我想制作一个循环来循环来自以下代码的结果:

$check_events = "SELECT * FROM events_meedoen WHERE username=:username";
    $stmt_check = $db->prepare($check_events);
    $stmt_check->bindParam(':username', $username);
    $stmt_check->execute();

    $events_row = $stmt_check->fetch(PDO::FETCH_BOTH);
    $event_id = $events_row['event_id'];

    $get_event = "SELECT * FROM agenda WHERE event_id=:event_id";
    $stmt = $db->prepare($get_event);
    $stmt->bindParam(':event_id', $event_id);
    $stmt->execute();

因此,例如,我希望通过检查用户注册的所有事件的日程,获得$event_id获得的所有结果。

这应该导致我的帐户为2,但不会因为它只检查一次。有帮助吗? :)

1 个答案:

答案 0 :(得分:1)

你需要在while循环中调用fetch。正如您在docs中看到的那样,PDO::fetch会从结果集中调用 next 记录。

所以,这样的事情将遍历所有结果:

while($events_row = $stmt_check->fetch(PDO::FETCH_BOTH)) {
    $event_id = $events_row['event_id'];
    // do something with the $events_row array here
}

因为PDO::fetch在到达结果集的末尾时返回false,所以while循环知道何时停止。