odbc_columns
(PHP 4, PHP 5, PHP 7)
odbc_columns — 指定したテーブルにあるカラム名のリストを取得する
説明
odbc_columns
( resource $connection_id
[, string $catalog
[, string $schema
[, string $table_name
[, string $column_name
]]]] ) : resource|false
指定したテーブルにあるカラム名のリストを取得します。
パラメータ
connection_id
- ODBC 接続 ID。詳細は odbc_connect() を参照ください。
catalog
- カタログ(ODBC 2 の用語では '修飾子')。
schema
- スキーマ (ODBC 2 の用語では '所有者')。 このパラメータには以下の検索パターンを使用できます。
%
はゼロ個以上の文字にマッチし、_
はひとつの文字にマッチします。 table_name
- テーブル名。 このパラメータには以下の検索パターンを使用できます。
%
はゼロ個以上の文字にマッチし、_
はひとつの文字にマッチします。 column_name
- カラム名。 このパラメータには以下の検索パターンを使用できます。
%
はゼロ個以上の文字にマッチし、_
はひとつの文字にマッチします。
返り値
ODBC 結果 ID を返します。失敗した場合に false
を返します。
結果セットは以下のカラムを有しています。
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
ドライバは追加のカラムを返すことが出来ます。
結果セットは TABLE_CAT
, TABLE_SCHEM
,
TABLE_NAME
, ORDINAL_POSITION
でソートされます。
例
例1 テーブルのカラム一覧を表示する
<?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 )
参考
- odbc_columnprivileges() - 指定したテーブルに関するカラムおよび付随する権限のリストを取得する
- odbc_procedurecolumns() - プロシージャへのパラメータに関する情報を取得する