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
    评论
C语言中,如果需要远程连接MySQL数据库,可以使用MySQL提供的C API库来实现。下面是一个简单的示例代码,演示如何使用C API库来连接MySQL数据库。 首先,需要安装MySQL C API库。可以在MySQL官网下载MySQL Connector/C,然后解压文件并安装。具体安装步骤可以参考官方文档。 接下来,我们需要在代码中包含mysql.h头文件,并链接libmysqlclient库。示例代码如下: ```c #include <mysql.h> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "127.0.0.1"; char *user = "username"; // MySQL用户名 char *password = "password"; // MySQL密码 char *database = "dbname"; // 数据库名 conn = mysql_init(NULL); if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { printf("连接MySQL数据库失败: %s\n", mysql_error(conn)); return 1; } printf("连接MySQL数据库成功!\n"); mysql_close(conn); return 0; } ``` 在上述代码中,我们首先使用mysql_init()函数初始化一个MYSQL对象,然后使用mysql_real_connect()函数连接MySQL数据库。如果连接成功,则输出“连接MySQL数据库成功!”信息。最后使用mysql_close()函数关闭连接并释放资源。 需要注意的是,为了能够正确链接MySQL C API库,我们需要在链接时指定libmysqlclient库。在命令行模式下,可以使用以下命令来编译代码: ``` gcc -o program program.c -lmysqlclient ``` 在这里,`program.c` 是示例代码文件名,`program` 是编译后生成的可执行文件名,`-lmysqlclient` 参数指定链接libmysqlclient库。 以上是一个简单的远程连接MySQL数据库的示例代码,具体实现还需要考虑更多的细节和错误处理。同时,为了保证数据安全,建议在实际应用中使用SSL加密来传输数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值