所以,我想创建一个循环来循环以下代码的结果:
$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 的结果,但事实并非如此,因为它只检查一次。有什么帮助吗? :)
最佳答案
您需要将对 fetch
的调用置于 while 循环中。从docs可以看出,PDO::fetch
调用结果集中的下一条 记录。
所以,类似这样的事情将循环遍历所有结果:
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 循环知道何时停止。
关于php - PHP 循环遍历 MySQL 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31448660/