2007년 10월 7일 일요일

mysql c program 간단한 사용법

ubuntu 에서 mysql 관련 c API를 사용할려면 libmysqlclient-dev 패캐지를 필요로 한다.
이 패키지가 없으면 /usr/include/mysql/* 관련한 header파일이 없다.
(find / -name "mysql.h" -print로 찾아보면 결과가 없다.)
libmysqlclient-dev를 설치하고 나서 간단한 프로그램을 작성해 보면
#include stdio.h 
#include stdlib.h
#include mysql/mysql.h

int main(void) {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;

    char *server = host;
    char *user = user;
    char *password = password;
    char *database = database_name;

    conn = mysql_init(NULL);

    /* Connect to database */
    if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
        fprintf(stderr, "%s\n", mysql_error(conn));
        exit(1);
    }

    /* send SQL query */
    if (mysql_query(conn, "show tables")) {
        fprintf(stderr, "%s\n", mysql_error(conn));
        exit(1);
    }

    res = mysql_use_result(conn);

    /* output table name */
    printf("MySQL Tables in mysql database:\n");
    while ((row = mysql_fetch_row(res)) != NULL)
        printf("%s\n", row[0]);

    /* close connection */
    mysql_free_result(res);
    mysql_close(conn);
}

compile 방법은 gcc -lmysqlclient -o ex ex.c 로 컴파일 해서 실행하면 된다.
이때 mysql library 관련해서는

$ mysql_config --libs 

$ mysql_config --cflags
로 확인해 볼수 있다.

참조 url : http://www.cyberciti.biz/tips/linux-unix-connect-mysql-c-api-program.html
http://dev.mysql.com/doc/refman/5.0/en/c.html
http://www.mysqlkorea.co.kr/

댓글 없음: