Ваш код работает так, как если бы это было так, выполняя запрос один раз, затем обрабатывая каждую строку набора результатов.
$resultset = $db->exec("SELECT * FROM users");
foreach ( $resultset as $k => $v ) {
# code ...
}
Но, остерегайтесь . Вы всегда должны проверять ошибки от внешних операций, таких как запросы СУБД. То, как вы написали свой код, усложняет задачу. Вот грубый способ проверить ошибки и остановить вашу программу, если есть какие-либо
$resultset = $db->exec("SELECT * FROM users");
if (!$resultset) {
print_r($db->errorInfo());
die "sql error";
}
else {
foreach ( $resultset as $k => $v ) {
# code ...
}
}
. Если вы создаете производственный код качества, вам нужно найти гораздо лучший способ обработки ошибки, чем я. я показал: то, что у меня есть, будет грубым для ваших пользователей, не говоря уже о том, что он дает слишком много информации киберпреступникам.