MYSQL_FIELD *mysql_fetch_field(MYSQL_RES
*result)
説明
結果セットの定義をMYSQL_FIELD
構造として規定したカラムに戻ってください。この機能を繰り返して呼び出して、結果セット中のすべてのカラムに関する情報を復元してください。フィールドがまだ残っているときには、mysql_fetch_field()
はNULL
を戻します。
mysql_fetch_field()
はリセットされて、新しいSELECT
クエリーを実行する度に、最初のフィールドに関する情報を戻します。mysql_fetch_field()
によって戻されたフィールドは、mysql_field_seek()
に対する呼び出しによっても影響を受けます。
mysql_query()
を呼び出して、テーブル上でSELECT
を実施したが、mysql_store_result()
を呼び出さなかった場合、MySQLは、mysql_fetch_field()
を呼び出して、BLOB
フィールドの長さを求めると、デフォルトblobの長さ
(8KB)を戻します。(MySQLはBLOB
に対する最大長さを知らないので、8KBのサイズが選ばれます。いつか、これを構成可能にすべきです。)結果セットを復元したと同時に、field->max_length
には、特定クエリー中のこのカラムに対する最大値の長さが含まれます。
戻り値
現在のカラムのためのMYSQL_FIELD
構造。NULL
カラムが残っていない場合。
エラー
なし。
例
MYSQL_FIELD *field; while((field = mysql_fetch_field(result))) { printf("field name %s\n", field->name); }