языках программирования foreach получает каждый обход значение из массива (то есть нужно сначала заранее занести массив в переменную а потом уже передавать в foreach).
Как дела с PHP ?
Вот пример. Я ожидаю что он ОДИН раз сделает запрос в базу, получит результат и конвертирует в массив, потом будет его обходить. Но есть опасение что каждый обход он будет делать запрос в базу.
foreach ($row as $db->query('....')->fetch_all()) {
}
я бы рекомендовал курсор использовать а не базу в память копировать
а можно подробнее ? что значит "курсор"
почитайте в гугле что такое курсор в базе данных и как его использовать и почему
query() массив возвращает или является генератором?
prepare_args + execute + get_result. fetch_all это PHP родное
Это pdo
а курсоры есть в PHP + MySQLI ?
Курсоры есть в базах данных, а не в php
https://www.php.net/manual/ru/mysqlinfo.concepts.buffering.php
Обсуждают сегодня