23.8.7.17 mysql_fetch_field()
MYSQL_FIELD *mysql_fetch_field(MYSQL_RES
*result)
설명
MYSQL_FIELD 구조로 설정 된 결과 집합의 한 컬럼의 정의를 반환합니다. 이 함수를 반복적으로 호출하여 결과 집합의 모든 열에 대한 정보를 가져옵니다. 이상 남아있는 필드가 없어지면, 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);
}