c 언어 mysql 연결

프로젝트 에서 my sql 과 자주 상호작용 을 하고 자신 이 쓴 인 터 페 이 스 를 남 겨 서 다음 에 사용 하기에 편리 합 니 다.
컴 파일 명령:
gcc -o XXX   XXX.c  -I/usr/include/mysql -rdynamic -L/usr/lib64/mysql -lmysqlclient
헤더 파일:
conMysql.h
#ifndef MYSQL_H
#define MYSQL_H
#include "/usr/include/mysql/mysql.h"

/*
*        
*/
#define  MYSQL_CONNECT_IP "XXX.XXX.XXX.XXX"
#define  MYSQL_USER_NAME  "root"
#define  MYSQL_USER_PWD   "passwd" 
#define  MYSQL_DATABASE   "databaseName"

extern MYSQL *conn_global;

int  mysqlInit(void);
void mysqlClose(void);
MYSQL_RES* mysqlQuery(char *,char *);

#endif /*MYSQL_H*/

연결 파일:
mysql.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "conMysql.h"


MYSQL *conn_global;

int mysqlInit()
{

	if( (conn_global=mysql_init(NULL))==NULL )
	{
		printf("MYSQL connection initialize error!
"); exit(0); } if(!mysql_real_connect(conn_global,MYSQL_CONNECT_IP,MYSQL_USER_NAME,MYSQL_USER_PWD,MYSQL_DATABASE,0,NULL,0)) { printf("Failed to connect to MYSQL!
"); exit(0); } if(mysql_set_character_set(conn_global,"utf8")) { printf("encoding the SQL result error!
"); exit(0); } //printf("MYSQL connect success!
"); } /* * function for MYSQL do insert/update/select/delete * * return MYSQL_RES result */ MYSQL_RES* mysqlQuery(char *query,char *errorNotice) { MYSQL_RES *res=NULL; MYSQL_ROW row; int flag=0; flag=mysql_real_query(conn_global,query,(unsigned int)strlen(query)); if(flag)//failure { printf("%s SQL query failed!........
",errorNotice); return 0; } else { res=mysql_store_result(conn_global); return res; } } void mysqlClose() { mysql_close(conn_global); }

좋은 웹페이지 즐겨찾기