Многократное извлечение PDO одного и того же запроса

Я получаю результаты из db с PDO :: FETCH_ASSOC. Проблема в том, что я делаю это дважды в одном файле. Это известная проблема? Что было бы альтернативой?

Вот мой код:

FIRST TIME while($row = $ordersQuery->fetch(PDO::FETCH_ASSOC)) { $totalAmount += $row['clientPrice']/100; } echo $totalAmount; SECOND TIME while($row = $ordersQuery->fetch(PDO::FETCH_ASSOC)) { .... } 

Всякий раз, когда я удаляю первую выборку, вторая работает нормально. Если у меня есть оба, второй ничего не возвращает.

Благодаря!

Вы не можете извлекать из БД несколько раз, как это. Сделайте это вместо этого:

 $orders = $ordersQuery->fetchAll(PDO::FETCH_ASSOC); ... foreach ($orders as $val) { // stuff 1 } ... foreach ($orders as $val) { // stuff 2 } 

Используйте fetchAll (), который вернет массив. Затем вы можете прокручивать его столько раз, сколько хотите:

$ orders = $ ordersQuery-> fetchAll (PDO :: FETCH_ASSOC);