C语言连接mysql数据库的方法以及遇到问题的解决方案

所用编译器:codeblocks

所用数据库:mysql

一、使用codeblocks连接mysql数据库

        选择 "setting -> Compiler" 添加动态链接库,共三步

  1. 添加“C:\mysql-8.0.16-winx64\lib\libmysql.lib”,前面是mysql的安装路径

C语言连接mysql数据库的方法以及遇到问题的解决方案_第1张图片

2. 添加 “C:\mysql-8.0.16-winx64\include”

C语言连接mysql数据库的方法以及遇到问题的解决方案_第2张图片

3. 添加“C:\mysql-8.0.16-winx64\bin”

C语言连接mysql数据库的方法以及遇到问题的解决方案_第3张图片

然后编写程序,添加mysql.h头文件,没有报错,成功。

C语言连接mysql数据库的方法以及遇到问题的解决方案_第4张图片

 连接数据库:

#include 
#include 
#include 

int main()
{
    MYSQL mysql;

    if (NULL == mysql_init(&mysql))      //分配和初始化MYSQL对象
    {
        printf("mysql_init(): %s\n", mysql_error(&mysql));
        return -1;
    }

    //尝试与运行在主机上的MySQL数据库引擎建立连接
    if (NULL == mysql_real_connect(&mysql,
                                   "localhost",//主机
                                   "root",//mysql用户名
                                   "123456",//密码
                                   "zhang",//所连接的数据库
                                   0,
                                   NULL,
                                   0))
    {
        printf("mysql_real_connect(): %s\n", mysql_error(&mysql));
        return -1;
    }
    printf("Connected MySQL successful! \n");
    mysql_close(&mysql);
    return 0;
}

连接成功!

 C语言连接mysql数据库的方法以及遇到问题的解决方案_第5张图片

二、遇到的问题以及解决方案

1、 “F:\code\mysql\main.c|9|undefined reference to `mysql_init@4'|”

原因:mysql和codeblocks一个使用的是32位,一个使用的是64位,需要将二者统一起来。要么都使用64位版本,要么都使用32位版本。

解决方案:将两个软件都换成64位或者都换成32位。

2、“计算机找不到libmysql.dll”

原因:libmysql.dll与.exe不在同一个目录下

解决方案:找到mysql安装目录下的lib文件夹,找到libmysql.dll文件,将它复制到所创建程序的Debug文件夹下,也就是.exe所在的文件夹下。

C语言连接mysql数据库的方法以及遇到问题的解决方案_第6张图片

你可能感兴趣的:(mysql)