(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)
PDOStatement::getColumnMeta — Возвращает метаданные столбца в результирующей таблице
$column
) : arrayВозвращает метаданные столбца результирующей таблицы в виде ассоциативного массива. Индексация столбцов начинается с 0.
Не все драйверы PDO поддерживают PDOStatement::getColumnMeta().
Список драйверов поддерживающих этот метод:
column
Индекс (начиная с 0) столбца результирующего набора.
Возвращает ассоциативный массив, содержащий следующие значения метаданных:
Имя | Значение |
---|---|
native_type | Внутренний тип PHP, используемый для представления значения столбца. |
driver:decl_type | Тип SQL, используемый для представления значения столбца в базе данных. Если значение столбца результирующей таблицы было возвращено из функции, PDOStatement::getColumnMeta() не будет определять этот тип. |
flags | Какие-либо флаги, установленные для столбца. |
name | Имя этого столбца, возвращаемое базой данных. |
table | Имя таблицы этого столбца, возвращаемое базой данных. |
len | Размер поля столбца. Как правило, для типов, отличных от чисел с плавающей запятой, это значение равно -1. |
precision | Числовая точность этого столбца. Как правило, для типов, отличных от чисел с плавающей запятой, это значение равно 0. |
pdo_type | Тип PDO значения столбца в виде одной из констант PDO::PARAM_*. |
Возвращает FALSE
в случаях, когда указанного столбца нет в результирующей
таблице, а также если не существует самого результирующего набора.
Пример #1 Извлечение метаданных столбца
В следующем примере показаны результаты извлечения метаданных одного столбца, сгенерированного функцией COUNT драйвера PDO_SQLITE.
<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>
Результат выполнения данного примера:
array(6) { ["native_type"]=> string(7) "integer" ["flags"]=> array(0) { } ["name"]=> string(8) "COUNT(*)" ["len"]=> int(-1) ["precision"]=> int(0) ["pdo_type"]=> int(2) }