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 — Retourne le nombre de colonnes dans le jeu de résultats
Utilisez la fonction PDOStatement::columnCount() pour retourner le nombre de colonnes dans le jeu de résultats représenté par l'objet PDOStatement.
Si l'objet PDOStatement a été retourné par la fonction PDO::query(), le nombre de colonnes est immédiatement disponible.
Si l'objet PDOStatement a été retourné par la fonction PDO::prepare(), un compte précis des colonnes ne sera pas disponible tant que vous n'invoquerez pas la fonction PDOStatement::execute().
Cette fonction ne contient aucun paramètre.
Retourne le nombre de colonnes dans le jeu de résultats représenté par
l'objet PDOStatement, même si le jeu de résultats est vide. S'il n'y a pas
de jeu de résultats, PDOStatement::columnCount()
retournera 0
.
Émet une erreur de niveau E_WARNING
si l'attribut PDO::ATTR_ERRMODE
est défini
à PDO::ERRMODE_WARNING
.
Lève une exception PDOException si l'attribut PDO::ATTR_ERRMODE
est défini
à PDO::ERRMODE_EXCEPTION
.
Exemple #1 Comptage des colonnes
Cet exemple démontre comment PDOStatement::columnCount() fonctionne avec ou sans jeu de résultats.
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$sth = $dbh->prepare("SELECT nom, couleur FROM fruit");
/* Compte le nombre de colonnes dans le jeu de résultat (non-existant) */
$colcount = $sth->columnCount();
print "Avant execute(), le jeu de résultats avait $colcount colonnes (devrait être 0)\n";
$sth->execute();
/* Compte le nombre de colonnes dans le jeu de résultats */
$colcount = $sth->columnCount();
print "Après execute(), le jeu de résultats a $colcount colonnes (devrait être 2)\n";
?>
L'exemple ci-dessus va afficher :
Avant execute(), le jeu de résultats avait 0 colonnes (devrait être 0) Après execute(), le jeu de résultat a 2 colonnes (devrait être 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;
?>