所以,我想制作一个循环来循环来自以下代码的结果:
$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,但不会因为它只检查一次。有帮助吗? :)
答案 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循环知道何时停止。