1. 형식
형식1) myres_ptr= mysql_list_dbs(mysql)
형식2) myres_ptr= mysql_list_dbs(mysql, wild)
2. 기능: 접속된 MySQL 서버의 데이터베이스 목록을 얻는다.
3. 설명
(1) 이 함수는 MySQL에서 지원하는 함수이며 함수명은 MySQL의 C API와 동일하다.
(2) 인자 mysql은 MySQL 포인터이며 MySQL 연결시 얻은 값이고 MySQL 포인터가
아니면 에러 처리되며, 이미 폐쇄된 MySQL 포인터일 때에는 경고 메시지를
출력하고 result에 -1 의 값을 되돌린다.
(3) MySQL의 데이터베이스 목록을 얻지 못하면 정수 -1(MYSQL_ERR)이 myres_ptr에
돌려진다.
(4) 설명(2)와 설명(3)의 경우가 아니면 임시 저장된 자료에 대한 MySQL result
포인터가 myres_ptr에 돌려진다.
(5) 형식2)의 인자 wild는 wildcard를 지정하는 것으로 해당 조건에 맞는 명칭의
목록만 얻으며 문자열이 아니면 문자열로 형변환한다.
(6) 인자 wild의 사용예
1) abc% --> abc라는 명칭으로 시작되는 것만 대상으로 한다.
2) %abc --> abc라는 명칭으로 끝나는 것만 대상으로 한다.
3) %abc% --> abc라는 명칭을 포함하고 있는 것만 대상으로 한다.
4. 사용예#1
// 아래의 예제는 연결된 MySQL에 최소 3개의 데이터베이스가 존재한다고 가정함
mysql= mysql_connect(NULL, myuser, mypass); // localhost를 연결한다.
if(mysql==MYSQL_ERR) { print("MySQL 서버 연결 에러!\n"); return(-1); }
myres= mysql_list_dbs(mysql); // 얻어진 목록의 항목명은 Database 이다.
if(myres==MYSQL_ERR) { print("error!\n"); return; }
mysql_fetch_global(myres); // Database 변수에 값이 얻어짐
mysql_fetch_global(myres, "dbase#"); // dbase1 변수에 값이 얻어짐
mysql_fetch_global(myres, "ms_"); // ms_Database 변수에 값이 얻어짐
mysql_free_result(myres);
mysql_close(mysql);
printf("DB 명= [%s] [%s] [%s]\n", Database, dbase1, ms_Database);
------------------------------ [ 출력결과 ] ------------------------------
DB 명= [test] [test2] [welhelp]
5. 사용예#2
// 아래의 예제는 연결된 MySQL에 최소 3개의 데이터베이스가 존재한다고 가정함
mysql= mysql_connect(NULL, myuser, mypass); // localhost를 연결한다.
if(mysql==MYSQL_ERR) { print("MySQL 서버 연결 에러!\n"); return(-1); }
myres= mysql_list_dbs(mysql, "wel%"); // wel 로 시작되는 명칭만 얻는다.
if(myres==MYSQL_ERR) { print("error!\n"); return; }
mysql_fetch_global(myres); // Database 변수에 값이 얻어짐
mysql_fetch_global(myres, "dbase#"); // dbase1 변수에 값이 얻어짐
mysql_fetch_global(myres, "ms_"); // ms_Database 변수에 값이 얻어짐
mysql_free_result(myres);
mysql_close(mysql);
printf("DB 명= [%s] [%s] [%s]\n", Database, dbase1, ms_Database);
------------------------------ [ 출력결과 ] ------------------------------
DB 명= [welhelp] [weltest] [welboard2]
|