Количество строк с PDO - PullRequest
176 голосов
/ 19 мая 2009

Вокруг много противоречивых утверждений. Каков наилучший способ подсчета строк с использованием PDO в PHP? Перед использованием PDO я просто использовал mysql_num_rows.

fetchAll - это то, чего я не хочу, потому что иногда я имею дело с большими наборами данных, поэтому это не подходит для моего использования.

Есть ли у вас какие-либо предложения?

Ответы [ 22 ]

0 голосов
/ 08 мая 2014

Я пытался $count = $stmt->rowCount(); с Oracle 11.2, и он не работал. Я решил использовать цикл как показано ниже.

   $count =  "";
    $stmt =  $conn->prepare($sql);
    $stmt->execute();
   echo "<table border='1'>\n";
   while($row = $stmt->fetch(PDO::FETCH_OBJ)) {
        $count++;
        echo "<tr>\n";
    foreach ($row as $item) {
    echo "<td class='td2'>".($item !== null ? htmlentities($item, ENT_QUOTES):"&nbsp;")."</td>\n";
        } //foreach ends
        }// while ends
        echo "</table>\n";
       //echo " no of rows : ". oci_num_rows($stmt);
       //equivalent in pdo::prepare statement
       echo "no.of rows :".$count;
0 голосов
/ 02 октября 2013

Быстрый вкладыш для возврата первой записи. Это хорошо для очень простых запросов.

<?php
$count = current($db->query("select count(*) from table")->fetch());
?>

Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...