Можете ли вы повторно использовать набор результатов MySQL в PHP?
У меня есть набор результатов, который я извлекаю из большой базы данных:
$result = mysql_query($sql);
Я перебираю этот набор записей один раз, чтобы извлечь определенные биты данных и получить средние значения, используя while($row = mysql_fetch_array($result))
, Позже на странице я хочу снова просмотреть этот набор записей и вывести все, но поскольку я использовал набор записей ранее, мой второй цикл ничего не возвращает.
Я наконец-то взломал это, просматривая второй идентичный набор записей ($result2 = mysql_query($sql);
), но я ненавижу делать один и тот же вызов SQL дважды. В любом случае я могу перебрать один и тот же набор данных несколько раз?
2 ответа
Использование:
mysql_data_seek($result, 0);
Вы получаете это "бесплатно", так как оно уже буферизовано.
Как отдельное примечание, вы можете явно сделать небуферизованный запрос с mysql_unbuffered_query
,