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

# PDOStatement::columnCount

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

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

### Описание

public function 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-запрос

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open