PDF (US Ltr) - 1.4Mb
PDF (A4) - 1.4Mb
MYSQL_FIELD *
mysql_fetch_field(MYSQL_RES *result)
以 MYSQL_FIELD 結構傳回結果集中單一資料行的定義。重複呼叫此函式以擷取結果集中所有資料行的資訊。當沒有其他欄位時,mysql_fetch_field() 會傳回 NULL。
對於中繼資料選擇性的連線,當 resultset_metadata 系統變數設定為 NONE 時,此函式會傳回 NULL。若要檢查結果集是否具有中繼資料,請使用 mysql_result_metadata() 函式。有關管理結果集中繼資料傳輸的詳細資訊,請參閱第 3.6.7 節:「選用的結果集中繼資料」。
每次執行新的 SELECT 查詢時,mysql_fetch_field() 會重設為傳回第一個欄位的相關資訊。mysql_fetch_field() 傳回的欄位也會受到對 mysql_field_seek() 的呼叫影響。
如果您已呼叫 mysql_real_query() 或 mysql_query(),以對表格執行 SELECT,但尚未呼叫 mysql_store_result(),如果您呼叫 mysql_fetch_field() 以要求 BLOB 欄位的長度,MySQL 會傳回預設的 blob 長度 (8KB)。(選擇 8KB 大小的原因是因為 MySQL 不知道 BLOB 的最大長度。這應該在未來可設定。) 一旦您擷取結果集,field->max_length 會包含此特定查詢中此資料行最大值的長度。