(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_columns — Lista os nomes das colunas nas tabelas especificadas
$odbc,$catalog = null,$schema = null,$table = null,$column = nullLista todas as colunas no intervalo solicitado.
odbcO objeto da conexão ODBC. Consulte odbc_connect() para obter detalhes.
catalogO catálogo ('qualifier' na linguagem ODBC 2).
schema
O esquema ('owner' na linguagem ODBC 2).
Este parâmetro aceita os seguintes padrões de pesquisa:
% para corresponder a zero ou mais caracteres
e _ para corresponder a um único caractere.
table
O nome da tabela.
Este parâmetro aceita os seguintes padrões de pesquisa:
% para corresponder a zero ou mais caracteres
e _ para corresponder a um único caractere.
column
O nome da coluna.
Este parâmetro aceita os seguintes padrões de pesquisa:
% para corresponder a zero ou mais caracteres
e _ para corresponder a um único caractere.
Retorna um objeto de resultado ODBC ou false em caso de falha.
O conjunto de resultados possui as seguintes colunas:
TABLE_CATTABLE_SCHEMTABLE_NAMECOLUMN_NAMEDATA_TYPETYPE_NAMECOLUMN_SIZEBUFFER_LENGTHDECIMAL_DIGITSNUM_PREC_RADIXNULLABLEREMARKSCOLUMN_DEFSQL_DATA_TYPESQL_DATETIME_SUBCHAR_OCTET_LENGTHORDINAL_POSITIONIS_NULLABLE
O conjunto de resultados é ordenado por TABLE_CAT, TABLE_SCHEM,
TABLE_NAME e ORDINAL_POSITION.
| Versão | Descrição |
|---|---|
| 8.4.0 |
odbc agora espera uma instância de Odbc\Connection;
anteriormente, esperava um resource.
|
| 8.0.0 |
schema, table e column
agora podem ser nulos.
|
Exemplo #1 Listando colunas de uma tabela
<?php
$conn = odbc_connect($dsn, $user, $pass);
$columns = odbc_columns($conn, 'TutorialDB', 'dbo', 'test', '%');
while (($row = odbc_fetch_array($columns))) {
print_r($row);
break; // outras linhas omitidas por questões de brevidade
}
?>O exemplo acima produzirá algo semelhante a:
Array
(
[TABLE_CAT] => TutorialDB
[TABLE_SCHEM] => dbo
[TABLE_NAME] => TEST
[COLUMN_NAME] => id
[DATA_TYPE] => 4
[TYPE_NAME] => int
[COLUMN_SIZE] => 10
[BUFFER_LENGTH] => 4
[DECIMAL_DIGITS] => 0
[NUM_PREC_RADIX] => 10
[NULLABLE] => 0
[REMARKS] =>
[COLUMN_DEF] =>
[SQL_DATA_TYPE] => 4
[SQL_DATETIME_SUB] =>
[CHAR_OCTET_LENGTH] =>
[ORDINAL_POSITION] => 1
[IS_NULLABLE] => NO
)