c语言mysql连接

工程项目中经常要与mysql交互,留下自己写的接口,方便下次使用,


编译命令:

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!\n");
		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!\n");
		exit(0);
	}
	if(mysql_set_character_set(conn_global,"utf8"))
	{
		printf("encoding the SQL result  error!\n");
		exit(0);
	}
	//printf("MYSQL connect success!\n");

}

/*
*	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!........ \n",errorNotice);
		return 0;
	}
	else
	{
		res=mysql_store_result(conn_global);
		return res;
	}
}

void mysqlClose()
{
	mysql_close(conn_global);	
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值