When you use query method, You'll get count right away
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$sth = $dbh->query("SELECT name, colour FROM fruit");
$count = $sth->columnCount();
echo 'query count is '.$count;
?>
(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)
PDOStatement::columnCount — Returns the number of columns in the result set
Use PDOStatement::columnCount() to return the number of columns in the result set represented by the PDOStatement object.
If the PDOStatement object was returned from PDO::query(), the column count is immediately available.
If the PDOStatement object was returned from PDO::prepare(), an accurate column count will not be available until you invoke PDOStatement::execute().
Returns the number of columns in the result set represented by the
PDOStatement object, even if the result set is empty. If there is no result set,
PDOStatement::columnCount() returns 0
.
Example #1 Counting columns
This example demonstrates how PDOStatement::columnCount() operates with and without a result set.
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
/* Count the number of columns in the (non-existent) result set */
$colcount = $sth->columnCount();
print("Before execute(), result set has $colcount columns (should be 0)\n");
$sth->execute();
/* Count the number of columns in the result set */
$colcount = $sth->columnCount();
print("After execute(), result set has $colcount columns (should be 2)\n");
?>
Exemplul de mai sus va afișa:
Before execute(), result set has 0 columns (should be 0) After execute(), result set has 2 columns (should be 2)
When you use query method, You'll get count right away
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$sth = $dbh->query("SELECT name, colour FROM fruit");
$count = $sth->columnCount();
echo 'query count is '.$count;
?>