반응형

 

Sample Source

 

#include <mysql.h>

#include <stdio.h>

#include <stdlib.h>

 

// /usr/include/mysql/mysql.h

// /usr/lib64/mysql/libmysqlclient.so

 

const char *host    = (char*)"아이피를적으세요";

const char *user    = (char*)"아이디";

const char *pw      = (char*)"비밀번호";

const char *db      = (char*)"데이타베이스";

 

int main()

{

    MYSQL *connection;      // the connection

    MYSQL_RES *sql_result;  // the results

    MYSQL_ROW sql_row;      // the results row (line by line)

 

    /*

     * mysql_real_connect()함수에 맞는 MYSQL 오브젝트를 할당하고 초기화한다.

     * http://www.mysqlkorea.co.kr/sub.html?mcode=manual&scode=01&m_no=21813&cat1=22&cat2=596&cat3=606&lang=k

     */

    connection = mysql_init(NULL);

 

    /*

     * MySQL 데이터베이스 연결.

     * http://blog.naver.com/PostView.nhn?blogId=kjs077&logNo=10142084934

     */

    if (mysql_real_connect(connection, host, user, pw, db, 3306, NULL, 0) == NULL)

    {

        printf("에러 : %d, %s\n", mysql_errno(connection), mysql_error(connection));

        return 1;

    }

    else

    {

        printf("연결 성공\n");

 

        if (mysql_select_db(connection, db)) // 데이터베이스 선택

        {

            printf("에러 : %d, %s\n", mysql_errno(connection), mysql_error(connection));

            return 1;

        }

 

        char    *query = (char*)"show tables";

        int     state = 0;

 

        /*

         * SQL 쿼리를 실행한다.

         * http://blog.naver.com/PostView.nhn?blogId=leemgyunhyun&logNo=100104719095

         */

        state = mysql_query(connection, query);

        if(state == 0)

        {

            /*

             * 클라이언트로의 쿼리 결과 전체를 읽고, MYSQL_RES 체계를 할당하며, 이 체계에 결과를 정돈한다.

             * (Result Set 에 저장)

             * http://www.mysqlkorea.co.kr/sub.html?mcode=manual&scode=01&m_no=21925&cat1=22&cat2=596&cat3=606&lang=k

             */

            sql_result = mysql_store_result(connection);    //

 

            /*

             * 결과 값의 다음 로우를 검색한다.

             * http://www.mysqlkorea.co.kr/sub.html?mcode=&scode=01&m_no=21792&cat1=22&cat2=596&cat3=606&lang=k

             */

            while ((sql_row = mysql_fetch_row(sql_result)) != NULL)     // Result Set 에서 1개씩 배열을 가져옴.

            {

                printf("%s\n", sql_row[0]);

            }

 

            /*

             * result 지시자와 관련된 점유 메모리를 해제한다.

             * http://radiocom.kunsan.ac.kr/lecture/php_mysql_api/mysql_free_result.html

             */

            mysql_free_result(sql_result);

        }

 

        /*

         * Mysql 서버와 연결을 종료해야 한다.

         * http://bravoremi.tistory.com/entry/Mysql-%ED%95%A8%EC%88%98-mysqlclose-%ED%95%A8%EC%88%98

         */

        mysql_close(connection);

    }

 

    return 0;

}


Compile

g++ -o DB_Test DB_Test.c -I/usr/include/mysql /usr/lib64/mysql/libmysqlclient.so
cs

 


[출처] [c] C/C++ 에서 MySQL 연동하기 Sample (MySQL Lib 이용)|작성자 tius1234

              http://blog.junghun.com/220245677654

 

반응형
Posted by 공간사랑
,