Māris Kiseļovs ' answer покрывает землю здесь. Однако я просто хочу добавить следующее, чтобы избежать путаницы:
В общем , попытайтесь выполнить как можно больше работы в БД / запросе. То есть, не выбирайте много данных только для выполнения вычислений и преобразования в PHP (или любом другом языке). Всегда старайтесь запрашивать только то, что вам нужно, из БД, тем самым сводя к минимуму обмен данными.
В этом конкретном случае вам будет лучше с подходами COUNT(*)
и mysql_result()
; выполнение вычислений на уровне БД, запрашивая только необходимые данные (количество записей).
Однако, , если вы тоже перечислите записи (т. Е. Представив счетчик и итерируя по множеству записей), вы просто должны сделать нормальный SELECT ... FROM ...
для извлечения записи (для того, чтобы сгенерировать список) и сделать mysql_num_rows()
на этом наборе результатов (чтобы получить количество). В этом случае не будет никакого выигрыша в отдельном запросе SELECT COUNT(*) ...
, так как вам все равно нужен полный набор результатов из БД.