(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_columns — Lists the column names in specified tables
$odbc,$catalog = null,$schema = null,$table = null,$column = nullLists all columns in the requested range.
odbcThe ODBC connection identifier, see odbc_connect() for details.
catalogThe catalog ('qualifier' in ODBC 2 parlance).
schema
       The schema ('owner' in ODBC 2 parlance).
       This parameter accepts the following search patterns:
% to match zero or more characters,
and _ to match a single character.
      
table
       The table name.
       This parameter accepts the following search patterns:
% to match zero or more characters,
and _ to match a single character.
      
column
       The column name.
       This parameter accepts the following search patterns:
% to match zero or more characters,
and _ to match a single character.
      
   Returns an ODBC result identifier or false on failure.
  
The result set has the following columns:
TABLE_CATTABLE_SCHEMTABLE_NAMECOLUMN_NAMEDATA_TYPETYPE_NAMECOLUMN_SIZEBUFFER_LENGTHDECIMAL_DIGITSNUM_PREC_RADIXNULLABLEREMARKSCOLUMN_DEFSQL_DATA_TYPESQL_DATETIME_SUBCHAR_OCTET_LENGTHORDINAL_POSITIONIS_NULLABLE
   The result set is ordered by TABLE_CAT, TABLE_SCHEM,
   TABLE_NAME and ORDINAL_POSITION.
  
| Version | Description | 
|---|---|
| 8.0.0 | schema,tableandcolumnare now nullable. | 
Example #1 List Columns of a Table
<?php
$conn = odbc_connect($dsn, $user, $pass);
$columns = odbc_columns($conn, 'TutorialDB', 'dbo', 'test', '%');
while (($row = odbc_fetch_array($columns))) {
    print_r($row);
    break; // further rows omitted for brevity
}
?>
The above example will output something similar to:
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
)