odbc_columns

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_columnsLists the column names in specified tables

说明

odbc_columns(
    resource $odbc,
    ?string $catalog = null,
    ?string $schema = null,
    ?string $table = null,
    ?string $column = null
): resource|false

Lists all columns in the requested range.

参数

odbc

ODBC 连接标识符,详见 odbc_connect()

catalog

The catalog ('qualifier' in ODBC 2 parlance).

schema

The schema ('owner' in ODBC 2 parlance). 此参数接受下列查询模式: % 来匹配零到多个字符, _ 来匹配单个字符。

table

The table name. 此参数接受下列查询模式: % 来匹配零到多个字符, _ 来匹配单个字符。

column

The column name. 此参数接受下列查询模式: % 来匹配零到多个字符, _ 来匹配单个字符。

返回值

Returns an ODBC result identifier 或者在失败时返回 false.

The result set has the following columns:

  • TABLE_CAT
  • TABLE_SCHEM
  • TABLE_NAME
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • COLUMN_SIZE
  • BUFFER_LENGTH
  • DECIMAL_DIGITS
  • NUM_PREC_RADIX
  • NULLABLE
  • REMARKS
  • COLUMN_DEF
  • SQL_DATA_TYPE
  • SQL_DATETIME_SUB
  • CHAR_OCTET_LENGTH
  • ORDINAL_POSITION
  • IS_NULLABLE
Drivers can report additional columns.

The result set is ordered by TABLE_CAT, TABLE_SCHEM, TABLE_NAME and ORDINAL_POSITION.

更新日志

版本 说明
8.0.0 schema, table and column are now nullable.

示例

示例 #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
}
?>

以上示例的输出类似于:

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
)

参见