728x90
db_conn.c // 여기서 주목해야할 점은 mysql_real_connect에서 마지막 CLIENT_MULTI_STATEMENTS 부분이다. 아래 링크를 읽어보면 알겠지만 두가지 옵션 중 젤 상위옵션 같다.(쓰는 용도가 다르다면 할말없다.)
MYSQL *db_init(char *ip, char *user, char *pw, char *db)
{
conn_ptr = mysql_init(NULL);
if(!conn_ptr)
{
printf("error");
exit(0);
}
conn_ptr = mysql_real_connect(conn_ptr, ip, user, pw, db, 50000, NULL, CLIENT_MULTI_STATEMENTS);
if(!conn_ptr)
{
printf("cannot connect : %s\n", mysql_error(conn_ptr));
}
mysql_set_character_set(conn_ptr, "utf8");
return conn_ptr;
}
main.c
#include "changjo.h"
int main(int argc, char** argv)
{
MYSQL *conn_ptr;
MYSQL_RES *sql_result;
MYSQL_ROW row;
conn_ptr = db_init("ip", "id", "pwd", "database");
char query[1024];
sprintf(query, "CALL PR1()"); // 미리 생성해놓은 프로시저 호출
int check = 0;
mysql_query(conn_ptr, query);
sql_result = mysql_store_result(conn_ptr);
while((row=mysql_fetch_row(sql_result)))
{
printf("[%s] [%s] [%s]\n", row[0], row[1], row[2]);
}
mysql_free_result(sql_result);
return 0;
}
a.out
728x90
'개발 업무(코딩)-개발자였을때 썼던..' 카테고리의 다른 글
CURL 헤드 따로 주는 법 (0) | 2023.01.08 |
---|---|
CURL 속도 문제 해결 (0) | 2023.01.08 |
UNIX C, MariaDB PROCEDURE(프로시저) 1탄 (0) | 2023.01.08 |
mysql.h가 없을때 + mysqlclient 라이브러리가 없을때 (0) | 2023.01.08 |
DB 유저 생성 및 권한부여 (0) | 2023.01.08 |