Можете ли вы использовать набор результатов MySQL в PHP? - PullRequest
7 голосов
/ 09 января 2011

У меня есть набор результатов, который я извлекаю из большой базы данных:

$result = mysql_query($sql);

Я перебираю этот набор записей один раз, чтобы получить определенные биты данных и получить средние значения, используя while($row = mysql_fetch_array($result)).Позже на странице я хочу снова просмотреть этот набор записей и вывести все, но поскольку я использовал набор записей ранее, мой второй цикл ничего не возвращает.

Я наконец-то взломал эту проблему, перебрав второй идентичный набор записей ($result2 = mysql_query($sql);), но я ненавижу делать один и тот же вызов SQL дважды.В любом случае я могу перебирать один и тот же набор данных несколько раз?

Ответы [ 2 ]

20 голосов
/ 09 января 2011

Использование:

mysql_data_seek($result, 0);

Вы получаете это "бесплатно", поскольку оно уже буферизовано.

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

0 голосов
/ 09 января 2011

Используя SQL Курсоры , вы можете получить этот подход

...