(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_columns — 指定したテーブルにあるカラム名のリストを取得する
$odbc,$catalog = null,$schema = null,$table = null,$column = null指定したテーブルにあるカラム名のリストを取得します。
odbcODBC 接続オブジェクト。詳細は odbc_connect() を参照ください。
catalogカタログ(ODBC 2 の用語では '修飾子')。
schema
スキーマ (ODBC 2 の用語では '所有者')。
このパラメータには以下の検索パターンを使用できます。
% はゼロ個以上の文字にマッチし、
_ はひとつの文字にマッチします。
table
テーブル名。
このパラメータには以下の検索パターンを使用できます。
% はゼロ個以上の文字にマッチし、
_ はひとつの文字にマッチします。
column
カラム名。
このパラメータには以下の検索パターンを使用できます。
% はゼロ個以上の文字にマッチし、
_ はひとつの文字にマッチします。
ODBC 結果 ID を返します。失敗した場合に false を返します。
結果セットは以下のカラムを有しています。
TABLE_CATTABLE_SCHEMTABLE_NAMECOLUMN_NAMEDATA_TYPETYPE_NAMECOLUMN_SIZEBUFFER_LENGTHDECIMAL_DIGITSNUM_PREC_RADIXNULLABLEREMARKSCOLUMN_DEFSQL_DATA_TYPESQL_DATETIME_SUBCHAR_OCTET_LENGTHORDINAL_POSITIONIS_NULLABLE
結果セットは TABLE_CAT, TABLE_SCHEM,
TABLE_NAME, ORDINAL_POSITION でソートされます。
| バージョン | 説明 |
|---|---|
| 8.0.0 |
schema, table,
column は、nullable になりました。
|
例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
)