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