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段错误的主要内容,如果未能解决你的问题,请参考以下文章

linux下应用mysql数据库c编程,出现段错误求解!

linux下c语言连接Mysql

linux C API连接并查询mysql5.7.9

Linux centos 7下: 用 C 语言连接 MySQL数据库

C语言连接MySQL

如何更改mysql的并发数(最大连接数)