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, PHP 8, PECL pdo >= 0.2.0)
PDOStatement::columnCount — Liefert die Anzahl der Spalten in der Ergebnismenge
PDOStatement::columnCount() gibt die Anzahl der Spalten in der Ergebnismenge zurück, die durch das PDOStatement-Objekt repräsentiert wird.
Wenn das PDOStatement-Objekt von PDO::query() zurückgegeben wurde, ist die Anzahl der Spalten sofort verfügbar.
Wurde das PDOStatement-Objekt von PDO::prepare() zurückgegeben, ist die genaue Anzahl der Spalten erst verfügbar, nachdem PDOStatement::execute() aufgerufen wurde.
Diese Funktion besitzt keine Parameter.
Gibt die Anzahl der Spalten in der Ergebnismenge zurück, die durch das
PDOStatement-Objekt repräsentiert wird, auch wenn die Ergebnismenge leer
ist. Wenn es keine Ergebnismenge gibt, gibt
PDOStatement::columnCount() 0
zurück.
Gibt einen Fehler der Stufe E_WARNING
aus, wenn das Attribut PDO::ATTR_ERRMODE
auf PDO::ERRMODE_WARNING
gesetzt ist.
Löst eine PDOException aus, wenn das Attribut PDO::ATTR_ERRMODE
auf PDO::ERRMODE_EXCEPTION
gesetzt ist.
Beispiel #1 Zählen der Spalten
In diesem Beispiel wird gezeigt, wie PDOStatement::columnCount() mit und ohne Ergebnismenge funktioniert.
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
/* Zählen der Anzahl der Spalten in der (nicht vorhandenen) Ergebnismenge */
$colcount = $sth->columnCount();
print "Vor execute() hat die Ergebnismenge $colcount Spalten (sollte 0 sein)\n";
$sth->execute();
/* Zählen der Anzahl der Spalten in der Ergebnismenge */
$colcount = $sth->columnCount();
print "Nach execute() hat die Ergebnismenge $colcount Spalten (sollte 2 sein)\n";
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Vor execute() hat die Ergebnismenge 0 Spalten (sollte 0 sein) Nach execute() hat die Ergebnismenge 2 Spalten (sollte 2 sein)
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;
?>