小白一个,MySQL连接出现问题,希望有大佬出手相救

小白一个,今天写代码MySQL连接不上,我也不知道哪里出现了问题,数据库test已建立

#include<iostream>
#include<WinSock.h>
#include<cstdio>
#include<string>
#include<conio.h>
#include<mysql.h>
#pragma comment (lib,"Wsock32.lib")
#pragma comment (lib,"libmysql.lib")
using namespace std;
char szSqlText[1000];//mysql语句


//主函数
int main(int argc, char* argv)
{
	char host[] = "localhost";//mysql 主机名
	char szTargetDSN[] = "text";//数据库名
	const char username[] = "root";//连接数据库的合法用户名
	const char password[] = "****";//密码
	unsigned int port = 3306;//链接端口,默认为3306
	MYSQL* conn;//MySQL连接指针
	MYSQL_RES* res;//MySQL结果集
	MYSQL_ROW row;//行变量
	if (//初始化MySQL 
		(conn = mysql_init((MYSQL*)0))
		&&//在windows系统运行时,要选择gbk字符集,以显示中文
		(mysql_options(conn, MYSQL_SET_CHARSET_NAME, "gbk") == 0)
		&&//开始连接MySQL
		mysql_real_connect(conn, host, username, password, szTargetDSN, port, NULL, 0)
		)
	{
		//如果连接成功
		//每次运行,让num++
		mysql_query(conn, "updata tbl_count set num=num+1");

		//生成读取的sql语句
		strcpy_s(szSqlText, "select num from tbl_count limit 1");
		//马上把值读出来
		if (mysql_query(conn, szSqlText))
		{
			//如果数值读取失败
			mysql_close(conn);
			printf("读取失败\n");
			return false;
		}
		else
		{
			//如果读取成功
			res = mysql_store_result(conn);//取结果集到res
			row = mysql_fetch_row(res);//取第一行到row中
			if (row != NULL)//如果取得行数据
				//row[0]表示取row的第一列
				printf("本程序是第%d次运行\n", row[0]);
			else
				printf("未获取行\n");
		}
		//释放结果集
		mysql_free_result(res);
		printf("\n按任意键退出\n");
		_getch();
	}
	else {
		//如果连接数据库失败
		printf("\n连接数据库失败\n");
		mysql_close(conn);
		printf("\n按任意键退出\n");
		_getch();
		return false;
	}
	//关闭连接
	mysql_close(conn);
	return true;
}
![这是运行的结果,显示数据库连接失败](https://img-blog.csdnimg.cn/20200422221445816.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcV83,size_16,color_FFFFFF,t_70)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值