(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)
PDOStatement::getColumnMeta — Возвращает метаданные столбца в результирующей таблице
$column
)Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.
Возвращает метаданные столбца результирующей таблицы в виде ассоциативного массива. Индексация столбцов начинается с 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 в случаях, когда указанного столбца нет в результирующей
таблице, а также если не существует самого результирующего набора.
| Версия | Описание |
|---|---|
| 5.2.3 | Поле table |
Пример #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)
}