array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'pdostatement.columncount.php', 1 => 'PDOStatement::columnCount', ), 'up' => array ( 0 => 'class.pdostatement.php', 1 => 'PDOStatement', ), 'prev' => array ( 0 => 'pdostatement.closecursor.php', 1 => 'PDOStatement::closeCursor', ), 'next' => array ( 0 => 'pdostatement.debugdumpparams.php', 1 => 'PDOStatement::debugDumpParams', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/pdo/pdostatement/columncount.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)
PDOStatement::columnCount — Возвращает количество столбцов в результирующем наборе
Используйте PDOStatement::columnCount(), чтобы узнать количество столбцов в результирующем наборе, который представляет объект PDOStatement.
Если объект PDOStatement был возвращён из метода PDO::query(), число столбцов можно узнать сразу же.
Если объект PDOStatement был возвращён из метода PDO::prepare(), точное количество столбцов можно будет узнать только после запуска метода PDOStatement::execute().
У этой функции нет параметров.
Возвращает количество столбцов в результирующем наборе запроса
PDOStatement, даже если он пуст. Если результирующего набора нет,
PDOStatement::columnCount() возвращает 0
.
Выдаёт ошибку уровня E_WARNING
, если атрибуту PDO::ATTR_ERRMODE
установлено значение PDO::ERRMODE_WARNING
.
Выбрасывает исключение PDOException, если атрибуту PDO::ATTR_ERRMODE
установлено значение PDO::ERRMODE_EXCEPTION
.
Пример #1 Подсчёт столбцов
В этом примере показано, как PDOStatement::columnCount() работает в случае наличия и отсутствия результирующего набора.
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
/* Подсчёт количества столбцов в (несуществующем) результирующем наборе */
$colcount = $sth->columnCount();
print "Перед вызовом execute(), в результирующем наборе $colcount столбцов (должно быть 0)\n";
$sth->execute();
/* Подсчёт количества столбцов в результирующем наборе */
$colcount = $sth->columnCount();
print "После вызова execute(), в результирующем наборе $colcount столбцов (должно быть 2)\n";
?>
Результат выполнения приведённого примера:
Перед вызовом execute(), в результирующем наборе 0 столбцов (должно быть 0) После вызова execute(), в результирующем наборе 2 столбцов (должно быть 2)