cDLEON
Онанист РНРСlub
mysql_num_rows выдаёт ВСЕГДА одно и то же количество записей! Не важно, до или после fetch-a данных. Главное что бы ссылка на query существовала. На сколько я знаю( по логике вещей) мускуль в хиадере отдаёт его. А mysql_num_rows просто возвращает этот инт.mysql_num_rows не подходит для узнавания числа записей так как данные уже все выбрались. При бекапе базы несмотря на то , что они все сейчас нужны, узнавать их количество постфактум тоже зло. При объеме таблицы (наблюдал в реальности на хостинге телекома ) свыше 32 метров ,
скрипт снимающий бекап базы стал писать о нехватке памяти.
(проблема разрешил узнаванием числа записей до и переделкой прохода по всей базе на цикл порциями
вмешающимися в предел оперативки)
Ну а вот накладывать во временную таблицу записи и потом узнавать их количество я не предлогал , это у топик стартера
похоже такая задумка.
По поводу временной таблицы - я не правильно выразился. В случае с запросом SELECT * FROM ... покет данных слишком большой получается. Больше разрешённого конфигами - и в этом "виноват" не mysql_num_rows, а сам запрос и настройки БД. И вообще большие объёмы данных дампятся встроенной в мускуль утилитой mysqldump.
А по поводу нехватки памяти скрипту - так а чего ты хотел вообще? Память надо освобождать.
А ещё есть один ньюанс. Количество записей может тупо не влезать в инт. Что тогда ? Тоже mysql_num_rows виноват ?