Linux 下C语言 连接mysql段错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 下C语言 连接mysql段错误相关的知识,希望对你有一定的参考价值。
sprintf(buffer,"INSERT INTO information(email, username,password,again) VALUES(\'%s\',\'%s\',\ '%s\',\'%s\')",email_text,username_text,password_text,makesure_text);
参考技术A 看下你的buffer,是不是溢出了。Linux centos 7下: 用 C 语言连接 MySQL数据库
要想进行 C 语言连接MySQL数据库的操作,那么首先要安装数据库,安装数据库挺简单的,建议看一下这个帖子传送门,这个还是很详细的。等到 MySQL 安装完毕之后,就可以在 C 语言下连接MySQL数据库了。
首先要安装一个叫 mysql-devel
东西,这个是一个驱动 通过 yum install mysql-devel
命令安装,然后就是在命令行中执行 vim sql.c
命令,然后写代码。
代码如下:
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>
//This is a simle ex.
int main()
MYSQL sql;
mysql_init(&sql);
printf("MySQL client version : %d \\n",mysql_get_client_version());
if(!mysql_real_connect(&sql,"localhost","root","password",NULL,0,NULL,0))
puts("Error connecting");
printf("%s\\n",mysql_error(&sql));
else
puts("Success connecting");
return 0;
注意一下代码中的mysql_real_connect
函数中的 password
参数 是你数据库的密码(这个我就不公开了 嘿嘿 隐私)
然后就是命令 gcc sql.c -o sql
但是会报以下错误。。。
然后就是需要加一个 mysql.h
的路径 一般都是这个命令:
-I/usr/include/mysql
然后加上这个还是不行还得加上一些东东 类似链接的东西似的:
反正最终的命令就是这样的:
gcc sql.c -o sql -I/usr/include/mysql -L/usr/lib64/mysql -lmysqlclient
除了前面的东西,
-I/usr/include/mysql -L/usr/lib64/mysql -lmysqlclient
这个命令一般都是这样的,然后最好是定义一个变量 保存一下 为了方便:
其实 为了更省事儿的话,就新建一个 Makefile
文件,到时候直接 make
一下就 OK 了
然后就运行成功了
执行 ./sql
命令
如下截图:
以上是关于Linux 下C语言 连接mysql段错误的主要内容,如果未能解决你的问题,请参考以下文章