(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)
PDOStatement::getColumnMeta — Возвращает метаданные столбца в результирующей таблице
$column
): array|falseВозвращает метаданные столбца результирующей таблицы в виде ассоциативного массива. Индексация столбцов начинается с 0.
Некоторые драйверы PDO могут не реализуют функцию PDOStatement::getColumnMeta(), поскольку она является необязательной. Однако все драйверы PDO, указанные в руководстве, реализуют эту функцию.
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) }