MYSQL_FIELD *mysql_fetch_field(MYSQL_RES
*result)
説明
結果セットに含まれる 1 つのカラムの定義を
MYSQL_FIELD
構造体として返します。結果セットに含まれるすべてのカラムの定義を取得するには、この関数を繰り返し呼び出します。定義を取得するカラムが残っていない場合、mysql_fetch_field()
は NULL
を返します。
新しく SELECT
クエリを実行するたびに、mysql_fetch_field()
は先頭のカラムの定義を返すようにリセットされます。また、mysql_field_seek()
を呼び出した場合も、mysql_fetch_field()
が返すフィールドが変わります。
mysql_query()
を呼び出してテーブルに対して
SELECT
を実行した後
mysql_store_result()
を呼び出さなかった場合、mysql_fetch_field()
を呼び出して BLOB
フィールドの長さを要求すると、デフォルトの
BLOB 長(8 キロバイト)が返されます(MySQL は
BLOB
の最大長がわからないので 8
キロバイトを返します。この値は将来設定可能な値にする必要があります)。結果セットを取得した後は、そのクエリにおけるこのカラムの最大値の長さが
field->max_length
に渡されます。
戻り値
現在のカラムの MYSQL_FIELD
構造体。カラムが残っていない場合は
NULL
。
エラー
ありません。
例
MYSQL_FIELD *field; while((field = mysql_fetch_field(result))) { printf("field name %s\n", field->name); }
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.