1. 형식: result= mysql_field_seek(myres_ptr, field_no)
2. 기능: 인자 myres_ptr의 필드 커서를 이동시키며 mysql_fetch_field() 함수로
필드 커서의 위치에 있는 항목의 정보를 얻어올 때 사용한다.
3. 설명
(1) 이 함수는 MySQL에서 지원하는 함수이며 함수명은 MySQL의 C API와 동일하다.
(2) 인자 myres_ptr은 MySQL result 포인터이며 mysql_store_result()함수나 기타
결과를 저장하는 함수에 의하여 얻은 값이고 MySQL result 포인터가 아니면
에러 처리되며, 이미 해제된 MySQL result 포인터일 때에는 경고 메시지를
출력하고 result에 -1 의 값을 되돌린다.
(3) 인자 field_no는 항목에 대한 순번( 0 부터 항목개수 - 1 )이며 이 값이
문자열이고 수치로 변환될 수 없을 때는 에러 처리된다.
(4) 인자 field_no가 0 보다 작거나 또는 항목의 개수보다 크거나 같으면 정수
-1 이 result에 돌려진다.
(5) 위의 설명(2)나 설명(4)의 경우가 아니면 정수 1 이 result에 돌려진다.
4. 사용예
mysql= mysql_connect(NULL, myuser, mypass); // localhost를 연결한다.
if(mysql==MYSQL_ERR) { print("MySQL 서버 연결 에러!\n"); return(-1); }
if(mysql_select_db(mysql, "welhelp")==MYSQL_ERR) // welhelp database 선택
{
print("welhelp database 선택 에러!\n"); return(-1);
}
myres= mysql_list_fields(mysql, "addr"); // addr 테이블의 항목 리스트 얻기
if(myres==MYSQL_ERR) { print("addr error!\n"); return; }
mysql_field_seek(myres, 2); // 3번째 항목으로 필드 커서를 이동한다.
fd= mysql_fetch_field(myres); // 필드 커서의 항목에 대한 정보를 얻는다.
printf("%s %s %s [%d] (%s) %lu %lu %u %u\n", fd.name, fd.table, fd.type,
fd.type_value,fd.default,fd.length,fd.max_length,fd.decimals,fd.flags);
mysql_free_result(myres); mysql_close(mysql);
------------------------------ [ 출력결과 ] ------------------------------
address addr tinytext [252] () 255 0 0 16
|