PHP mysql_fetch_field()関数
定義と使用法
mysql_fetch_field()関数は、結果セットから列情報を取得し、オブジェクトとして返します。
mysql_fetch_field()は、クエリ結果からフィールド情報を取得するために使用できます。フィールドオフセット量が指定されていない場合、mysql_fetch_field()で取得されていない次のフィールドを抽出します。
この関数は、フィールド情報を含むオブジェクトを返します。
返されるオブジェクトの属性は:
- name - 列名
- table - その列が属するテーブル名
- max_length - その列の最大長さ
- not_null - 1,もしその列がNULLでないことができる場合
- primary_key - 1,もしその列がプライマリキーである場合
- unique_key - 1,もしその列がユニークキーである場合
- multiple_key - 1,もしその列が非ユニークキーである場合
- numeric - 1,もしその列が数値型である場合
- blob - 1,如果该列是 BLOB
- blob - 1、この列が BLOBである場合
- type - この列のタイプ
- unsigned - 1、この列が無符号数である場合
zerofill - 1、この列が zero-filled されている場合
構文datamysql_fetch_field(field_offset)
, | 説明 |
---|---|
data | 必須。使用するデータポインタです。このデータポインタは mysql_query() が返す結果から得られます。 |
field_offset | 必須。どのフィールドから始めるかを指定します。0は最初のフィールドを指します。設定されていない場合、次のフィールドが返されます。 |
ヒントと注釈
注釈:この関数が返すフィールド名は、大小文字を区別します。
例
<?php $con = mysql_connect("localhost", "hello", "321"); if (!$con) { die('接続できません: ' . mysql_error()); } $db_selected = mysql_select_db("test_db",$con); $sql = "SELECT * from Person"; $result = mysql_query($sql,$con); while ($property = mysql_fetch_field($result)) { echo "フィールド名: " . $property->name . "<br />"; echo "テーブル名: " . $property->table . "<br />"; echo "デフォルト値: " . $property->def . "<br />"; echo "最大長さ: " . $property->max_length . "<br />"; echo "NULLではない: " . $property->not_null . "<br />"; echo "主要キー: " . $property->primary_key . "<br />"; echo "ユニークなキー: " . $property->unique_key . "<br />"; echo "複数のキー: " . $property->multiple_key . "<br />"; echo "Numeric Field: " . $property->numeric . "<br />"; echo "BLOB: " . $property->blob . "<br />"; echo "Field Type: " . $property->type . "<br />"; echo "Unsigned: " . $property->unsigned . "<br />"; echo "Zero-filled: " . $property->zerofill . "<br /><br />"; } mysql_close($con); ?>
出力:
フィールド名: LastName テーブル名: Person デフォルト値: 最大長: 8 NULLでない: 0 主要キー: 0 ユニークキー: 0 複数キー: 0 数値フィールド: 0 BLOB: 0 フィールドタイプ: string サインレス: 0 ゼロフィルド: 0 フィールド名: FirstName テーブル名: Person デフォルト値: 最大長: 7 NULLでない: 0 主要キー: 0 ユニークキー: 0 複数キー: 0 数値フィールド: 0 BLOB: 0 フィールドタイプ: string サインレス: 0 ゼロフィルド: 0 フィールド名: City テーブル名: Person デフォルト値: 最大長: 9 NULLでない: 0 主要キー: 0 ユニークキー: 0 複数キー: 0 数値フィールド: 0 BLOB: 0 フィールドタイプ: string サインレス: 0 ゼロフィルド: 0 フィールド名: Age テーブル名: Person デフォルト値: 最大長: 2 NULLでない: 0 主要キー: 0 ユニークキー: 0 複数キー: 0 数値フィールド: 1 BLOB: 0 フィールドタイプ: int サインレス: 0 ゼロフィルド: 0