Статьи / PHP


php pdo mysql count rows

Чтобы не делать дополнительные или странные запросы, как предлагается в официальном мануале, можно применить функцию count на результате SELECT.

$s = $pdo->prepare("SELECT `id`,`text` FROM `table` WHERE `id`=:id");
$s->bindParam(':id', $id, PDO::PARAM_INT);
$s->execute();
$r = $s->fetchAll();
$count = count($r);



$s->fetchAll();

Возвращает массив или FALSE. Посчитаем количество элементов в нём и получим count rows in mysql select выборке.

Все записи извлекаются, если у вас выборке большая, то возможно вам больше подойдет вариант официального мануала. На небольших выборках, порядка до двадцати тысяч, предпочтительней обрабатывать результаты в массиве, а не дергать запросами базу.