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]); } }