PDOStatement::getColumnMeta

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

PDOStatement::getColumnMeta Retorna metadados para uma coluna no resultado

Descrição

public PDOStatement::getColumnMeta(int $column): array|false

Retorna metadados para uma coluna no resultado, indexada a partir de 0, como um array associativo.

Warning

Alguns drivers podem não implementar o método PDOStatement::getColumnMeta(), já que ele é opcional. Entretanto, todo os drivers PDO documentados neste manual implementam este método.

Parâmetros

column

A coluna no resultado, indexada a partir de 0.

Valor Retornado

Retorna um array associativo contendo os seguintes valores que representam os metadados para uma única coluna:

Metadados de coluna
Nome Valor
native_type O tipo de dados nativo do PHP usado para representar o valor da coluna.
driver:decl_type O tipo de dados SQL usado para representar o valor da coluna no banco de dados. Se a coluna for resultado de uma função, este valor não será retornado por PDOStatement::getColumnMeta().
flags Quaisquer opções configuradas para esta coluna.
name O nome desta coluna como retornado pelo banco de dados.
table O nome da tabela desta coluna como retornado pelo banco de dados.
len O comprimento desta coluna. Normalmente -1 para tipos que não sejam números com decimais.
precision A precisão numérica desta coluna. Normalmente 0 para tipos que não sejam números decimais.
pdo_type O tipo desta coluna como representado pelas constantes PDO::PARAM_*.

Retorna false se a coluna requisitada não existir no resultado ou se não existir resultado.

Exemplos

Example #1 Recuperando metadados de coluna

O exemplo a seguir mostra o resultado da recuperação de metadados para uma única coluna gerada por uma função (COUNT) em um driver PDO_SQLITE.

<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>

O exemplo acima produzirá:

array(6) {
  ["native_type"]=>
  string(7) "integer"
  ["flags"]=>
  array(0) {
  }
  ["name"]=>
  string(8) "COUNT(*)"
  ["len"]=>
  int(-1)
  ["precision"]=>
  int(0)
  ["pdo_type"]=>
  int(2)
}

Veja Também