CakeFest 2024: The Official CakePHP Conference

PDOStatement::columnCount

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

PDOStatement::columnCount Возвращает количество столбцов в результирующем наборе

Описание

public PDOStatement::columnCount(): int

Используйте 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)

Смотрите также

  • PDO::prepare() - Подготавливает запрос к выполнению и возвращает связанный с этим запросом объект
  • PDOStatement::execute() - Запускает подготовленный запрос на выполнение
  • PDOStatement::rowCount() - Возвращает количество строк, затронутых последним SQL-запросом

add a note

User Contributed Notes 1 note

up
-18
756567406 at qq dot com
7 years ago
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;

?>
To Top