把这玩意.zip下载下来,解压。
把里面的include和lib文件复制粘贴到VS工程的根目录下面
之后还有
在这里声明新引入的include文件 这样工程就可以根据这个路径去寻找新添加的头文件
即mysql.h
之前看大佬的博客路径用的是…/include
我试了用不了 我之后直接把整套路径写进去 简单粗暴无脑
还有一步,就是去lib文件夹下面的libmysql.dll和libmysql.lib
复制粘贴这两个文件到工程的根目录下面
在VS头文件声明#pragma comment(lib,“libmysql.lib”)
在程序中就可以引用#include
mysql_init,mysql_real_query等等的函数就可以用了
下面是对mysql的连接并插入,有三个字段,number,phone和id
#include
#include
#include
#include
#include
#pragma comment(lib, "libmysql.lib")
using namespace std;
int main()
{
MYSQL mydata; //=mysql_init((MYSQL*)0);
if (NULL != mysql_init(&mydata)) {
cout << "mysql_init()succeed" << endl;
}
else {
cout << "mysql_init()failed" << endl;
return -1;
}
//连接数据库
if (NULL != mysql_real_connect(&mydata, "localhost", "root", "", "data", 3306, NULL, 0))
//这里的地址,用户名,密码,数据库,端口可以根据自己本地的情况更改
{
cout << "mysql_real_connect()succeed" << endl;
}
else
{
cout << "mysql_real_connect()failed" << endl;
}
string query ;
string number = "20180904,";//用string灵活很多
string phone = "18888888,";//拼接 到时候可以根据需要进行修改
query = "insert into data (number,phone,id) values (" + number + phone + "1)";
int res = mysql_real_query(&mydata, query.c_str(), (unsigned int)strlen(query.c_str()));
if (!res) {
printf("Inserted %lu rows\n",
(unsigned long)mysql_affected_rows(&mydata));//成功显示
}
else {
fprintf(stderr, "Insert error %d: s\n", mysql_errno(&mydata),
mysql_error(&mydata));//错误的话,注意看错误代码!!根据错误代码去百度你的查错误原因
}
mysql_close(&mydata);
return 0;
}
下面是对MYSQL的提取,就是SQL语句中的select系列
#include
#include
#include
#include
#include
#pragma comment(lib, "libmysql.lib")
using namespace std;
int main()
{
MYSQL my_connect;
MYSQL_RES *result;
MYSQL_ROW row;
mysql_init(&my_connect);//初始化
mysql_real_connect(&my_connect, "localhost", "root", "", "data", 3306, NULL, 0);
string sql = "select id from data where phone=18888888";
int flag=mysql_real_query(&my_connect, sql.c_str(), (unsigned int)strlen(sql.c_str()));
if (!flag)//成功执行
{
string e;
result= mysql_store_result(&my_connect);
while (row = mysql_fetch_row(result))
{
e = row[0];//把id提取出来,但是返回的是字符串类型,我知道id要么是1或者是0
}
char ee;
ee = e[0];//转换成char,这样方面转换成int
int p;
p = ee - '0';//转换成int
if (p == -48) //-48是个神奇的数字,如果数据库中phone不匹配,那么转换成char再转换成int,值刚好伪-48
{
cont<<"查无此号"<
同理,如果更新MYSQL函数的值得话,改为update的
string sql = "update data set id=1 where number='20180901'";
int res = mysql_real_query(&my_connect, sql.c_str(), (unsigned int)strlen(sql.c_str()));