mysql_fetch_field
(PHP 4, PHP 5)
mysql_fetch_field — 結果からカラム情報を取得し、オブジェクトとして返す
警告 この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 や それに関連する FAQ を参照ください。 この関数の代替として、これらが使えます。
説明
mysql_fetch_field
( resource $result
[, int $field_offset
= 0
] ) : object
フィールド情報を含むオブジェクトを返します。特定のクエリー結果の中の フィールドに関する情報を得るために使用可能です。
パラメータ
result
- 評価された結果 リソース。 この結果は、mysql_query() のコールにより得られたものです。
field_offset
- 数字で表したフィールドの位置です。もし指定されなければ、 まだこの関数で情報を取得していないフィールドのうち最初のものが 選択されます。
field_offset
は、0
からはじまります。
返り値
フィールド情報を含むobjectを返します。オブジェクトの プロパティは次のとおりです。
- name - カラム名
- table - カラムが属しているテーブルの名前。エイリアスを定義している場合はエイリアスの名前
- max_length - カラムの最大長
- not_null - カラムが
null
値をとることができない場合 1 - primary_key - カラムが主キーであれば 1
- unique_key - カラムがユニークキーであれば 1
- multiple_key - カラムが非ユニークキーであれば 1
- numeric - カラムが数値(numeric)であれば 1
- blob - カラムがBLOBであれば 1
- type - カラムの型
- unsigned - カラムが符号無し(unsigned)であれば 1
- zerofill - カラムがゼロで埋められている(zero-filled)場合に 1
例
例1 mysql_fetch_field() の例
<?php$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$conn) { die('Could not connect: ' . mysql_error());}mysql_select_db('database');$result = mysql_query('select * from table');if (!$result) { die('Query failed: ' . mysql_error());}/* カラムのメタデータを取得する */$i = 0;while ($i < mysql_num_fields($result)) { echo "Information for column $i:<br />\n"; $meta = mysql_fetch_field($result, $i); if (!$meta) { echo "No information available<br />\n"; } echo "<pre>blob: $meta->blobmax_length: $meta->max_lengthmultiple_key: $meta->multiple_keyname: $meta->namenot_null: $meta->not_nullnumeric: $meta->numericprimary_key: $meta->primary_keytable: $meta->tabletype: $meta->typeunique_key: $meta->unique_keyunsigned: $meta->unsignedzerofill: $meta->zerofill</pre>"; $i++;}mysql_free_result($result);?>
注意
注意:
この関数により返されるフィールド名は 大文字小文字を区別 します。
注意:
SQL クエリでフィールド名やテーブル名のエイリアスを設定している場合は、 エイリアスを返します。本来の名前を取得するには、 mysqli_result::fetch_field() を使いましょう。