[차례]  [함수색인] Wel 도움말 문서 [이전]  [다음]
대분류: Database
소분류: MySQL 항목 목록 얻기
mysql_list_fields() 작성일: 2002/07/05
수정일: 2002/07/05

1. 형식 형식1) myres_ptr= mysql_list_fields(mysql, table_name) 형식2) myres_ptr= mysql_list_fields(mysql, table_name, wild) 2. 기능: 접속된 MySQL 서버에 대하여 mysql_select_db() 함수로 선택한 데이터 베이스의 인자 table_name 테이블의 항목 목록을 얻는다. (개별적인 항목의 정보는 mysql_fetch_field() 함수를 사용하여 얻어야한다) 3. 설명 (1) 이 함수는 MySQL에서 지원하는 함수이며 함수명은 MySQL의 C API와 동일하다. (2) 인자 myres_ptr은 MySQL result 포인터이며 mysql_store_result()함수나 기타 결과를 저장하는 함수에 의하여 얻은 값이고 MySQL result 포인터가 아니면 에러 처리되며, 이미 해제된 MySQL result 포인터일 때에는 경고 메시지를 출력하고 result에 -1 의 값을 되돌린다. (3) 인자 table_name은 테이블명으로 문자열이며 문자열이 아니면 형변환된다. (4) 인자 table_name 테이블의 항목 목록을 얻지 못하면 정수 -1(MYSQL_ERR)이 myres_ptr에 돌려진다. (5) 설명(2)와 설명(4)의 경우가 아니면 임시 저장된 자료에 대한 MySQL result 포인터가 myres_ptr에 돌려진다. (6) 형식2)의 인자 wild는 wildcard를 지정하는 것으로 해당 조건에 맞는 명칭의 목록만 얻으며 문자열이 아니면 문자열로 형변환한다. (7) 인자 wild의 사용예 1) abc% --> abc라는 명칭으로 시작되는 것만 대상으로 한다. 2) %abc --> abc라는 명칭으로 끝나는 것만 대상으로 한다. 3) %abc% --> abc라는 명칭을 포함하고 있는 것만 대상으로 한다. 4. 사용예#1 // 아래의 예제는 welhelp 데이터베이스와 addr 테이블이 존재한다고 가정함 mysql= mysql_connect(NULL, myuser, mypass); // localhost를 연결한다. if(mysql==MYSQL_ERR) { print("MySQL 서버 연결 에러!\n"); return(-1); } if(mysql_select_db(mysql,"welhelp")==-1) { print("DB error!\n"); return; } myres= mysql_list_fields(mysql, "addr"); // addr 테이블의 항목 리스트 얻기 if(myres==MYSQL_ERR) { print("addr error!\n"); return(-1); } fd= mysql_fetch_field(myres); // 첫번째 항목에 대한 정보를 얻는다. printf("%s %s (%s) %s (%d) %lu %lu %u %u %d\n",fd.name,fd.table,fd.default, fd.type,fd.type_value,fd.length,fd.max_length,fd.decimals,fd.flags); mysql_free_result(myres); mysql_close(mysql); ------------------------------ [ 출력결과 ] ------------------------------ name addr () tinytext (252) 255 0 0 17 0 5. 사용예#2 // 아래의 예제는 welhelp 데이터베이스와 addr 테이블이 존재한다고 가정함 mysql= mysql_connect(NULL, myuser, mypass); // localhost를 연결한다. if(mysql==MYSQL_ERR) { print("MySQL 서버 연결 에러!\n"); return(-1); } if(mysql_select_db(mysql,"welhelp")==-1) { print("DB error!\n"); return; } myres= mysql_list_fields(mysql, "addr", "%ss"); // ss 로 끝나는 목록만 얻기 if(myres==MYSQL_ERR) { print("addr error!\n"); return(-1); } 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

Wel Version 1.0
[차례]  [함수색인] [이전]  [다음]