C语言连接mysql数据库

Posted 霍一夏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言连接mysql数据库相关的知识,希望对你有一定的参考价值。

操作系统:win7/64

编译软件:VS2010

数据库:5.7.11

 

从C语言连接mysql数据库包含两个步骤:

1 初始化连接句柄结构

2 实际创建连接

 

测试代码1:

#include "stdafx.h"
#include <WinSock2.h> /*socket通信,系统头文件*/
#include <windows.h>
#include <stdio.h>
#include "mysql.h"
#pragma comment(lib, "libmysql.lib")
int main()
{
    MYSQL *conn;
    char *server = "localhost";
    char *user = "root";
    char *password = "root";//“******”为你设置的密码
    char *database = "hyx";
    conn = mysql_init(NULL);
    if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))
        printf("连接失败:%s", mysql_error(conn));
    else
        printf("连接成功!");
    getchar();
    return 0;
}

测试结果1:

技术分享

 

遇到的问题:

error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 _main 中被引用

解决方法:

原因如下,我使用的系统是win7x64,MySQL 64位的lib也是64位的接口。所以解决方法如下:
.项目->属性->配置管理器
活动解决方案平台,下拉选新建,出现一个新的对号框,在键入选择新平台中选择X64

重新编译  成功~~~

测试代码2:

#include "stdafx.h"
#include <WinSock2.h> /*socket通信,系统头文件*/
#include <windows.h>
#include <stdio.h>
#include "mysql.h"
#pragma comment(lib, "libmysql.lib")
int main()
{
    MYSQL my_connection;
    char *server = "localhost";
    char *user = "root";
    char *password = "root";//“******”为你设置的密码
    char *database = "hyx";
    mysql_init(&my_connection);
    if(!mysql_real_connect(&my_connection, server, user, password, database, 0, NULL, 0))
        printf("连接失败:%sn", mysql_error(&my_connection));
    else
        printf("连接成功!");
    getchar();
    return 0;
}

测试结果2:

技术分享

 

问题:测试代码1与测试代码2只有标黑的两行不同,但是一个连接成功了,一个连接失败了,这是什么原因?

 

VS中快捷键
F12 转到定义处
ctrl+"-" 从定义处返回
F7 编译
ctrl+F5  运行
F5 执行到下一个断点
F10 调试(逐过程)
F11  调试(逐语句)

 



 

以上是关于C语言连接mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章

C语言连接mysql数据库

c语言连接mysql——select的代码实现

c语言连接mysql——insert的代码实现

C语言有mysql数据库连接池吗?

c语言调用数据库mysql5.6,数据查询后怎样读取

部分代码片段