php[tek] 2018 : Call for Speakers

odbc_columns

(PHP 4, PHP 5, PHP 7)

odbc_columnsLista los nombres de columnas de la tabla especificada

Descripción

resource odbc_columns ( resource $connection_id [, string $qualifier [, string $schema [, string $table_name [, string $column_name ]]]] )

Lista todas las columnas en el rango solicitado.

Parámetros

connection_id

El conector identificador ODBC, ver odbc_connect() para más información.

qualifier

El cualificador.

schema

El propietariio.

table_name

El nombre de la table.

column_name

El nombre de la columna.

Los parámetros schema, table_name y column_name aceptan patrones de búsqueda ('%' para comparar cero o más caracteres y '_' para comparar un único carácter).

Valores devueltos

Devuelve un idenrificador de resultado de ODBC o FALSE en caso de error.

El conjunto de resultados tiene las siguietes columnas:

  • TABLE_QUALIFIER
  • TABLE_SCHEM
  • TABLE_NAME
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

El conjunto de resultados está ordenado según TABLE_QUALIFIER, TABLE_SCHEM y TABLE_NAME.

Ver también

  • odbc_columnprivileges() - Lista las columnas y los privilegios asociados para la tabla dada para recuperar los privilegios asociados

add a note add a note

User Contributed Notes 12 notes

up
8
Thomas
8 years ago
[MS SQL Server 2005/2008, PHP 5]

Imagine you would need to access the column names of a specific table, for instance to display them as table headers for fields with missing information. While browsing the documentation I was kind of lost how to use odbc_columns() without the usage of odbc_result_all() which outputs EVERYTHING in a single HTML table.

Here is a way to stuff all output into an array and then access only one or more fields of the odbc_columns() output:

<?php
include('connect.inc'); // <== Put all your database connection parameters in here. (DSN, PWD, USR, mssql_connect, etc.; returns $connection)

$outval = odbc_columns($connection, "your DB name", "%", "your table name", "%");

$pages = array();
while (
odbc_fetch_into($outval, $pages)) {
        echo
$pages[3] . "<br />\n"; // presents all fields of the array $pages in a new line until the array pointer reaches the end of array data
   
}
?>

Now your array $pages will have the following contents:
([x] is the array index displayed here for better understanding)

[0] TABLE_CAT <== your DB name
[1] TABLE_SCHEM <== dbo, your table scheme
[2] TABLE_NAME <== your table name
[3] COLUMN_NAME <== your column names (selected all with "%" in odbc_columns() )
[4] DATA_TYPE <== -8
[5] TYPE_NAME <== nchar (corresponds to -8, 11 f.i. is datetime and so on)
[6] COLUMN_SIZE <== num. val.
[7] BU