23.8.7.20 mysql_fetch_lengths()
unsigned long *mysql_fetch_lengths(MYSQL_RES
*result)
설명
결과 세트의 현재 행의 열 길이를 반환합니다. 필드 값을 복사하려는 경우이 길이 정보는 strlen() 의 호출을 피할 수 있기 때문에 최적화에 도움이됩니다. 또한 결과 집합에 바이너리 데이터가 포함되어있는 경우, strlen() 는 NULL 문자가 포함 된 필드에 대해 잘못된 결과를 반환하는 함수를 사용하여 데이터의 크기를 결정해야합니다.
빈 컬럼과 NULL 값을 포함한 컬럼의 길이는 제로입니다. 이 두 경우를 구별하는 방법을 확인하려면 mysql_fetch_row() 의 설명을 참조하십시오.
반환 값
각 컬럼 (종단의 NULL 문자 제외)의 크기를 나타내는 부호 없음 long 정수의 배열. 오류가 발생한 경우 NULL .
오류
mysql_fetch_lengths() 는 결과 집합의 현재 행에 대해서만 유효합니다. 그것을 mysql_fetch_row() 를 호출하기 전에 또는 결과의 모든 행을 검색 한 후 호출하면 그것은 NULL 을 반환합니다.
Example
MYSQL_ROW row;
unsigned long *lengths;
unsigned int num_fields;
unsigned int i;
row = mysql_fetch_row(result);
if (row)
{
num_fields = mysql_num_fields(result);
lengths = mysql_fetch_lengths(result);
for(i = 0; i < num_fields; i++)
{
printf("Column %u is %lu bytes in length.\n",
i, lengths[i]);
}
}