当前位置: 首页 > wzjs >正文

做网站规划asp网站源码 怎么安装

做网站规划,asp网站源码 怎么安装,做美食网站的需求,软文是什么意思通俗点C访问MySQL 1. 安装mysql库 在 Linux 上安装 MySQL 时,如果你是通过命令直接按照的 MySQL,那么实际 MySQL 相关的 C 语言库也已经安装并配置好环境变量了。如果你是通过 MySQL 官网下载 MySQL 的 .tar 包拖入 Linux 中按照的,那么还需要下载…

C++访问MySQL

1. 安装mysql库

在 Linux 上安装 MySQL 时,如果你是通过命令直接按照的 MySQL,那么实际 MySQL 相关的 C 语言库也已经安装并配置好环境变量了。如果你是通过 MySQL 官网下载 MySQL 的 .tar 包拖入 Linux 中按照的,那么还需要下载按照 MySQL 的库资源:

sudo apt install libmysqlclient-dev

下载后,查看一下 MySQL 的库文件是否成功安装:

ls /usr/include/mysql/
ls /lib/mysql/*
#如果是centos目录为lib64

C++1

2. 测试代码文件是否能链路成功

MySQL 库提供了一个 mysql_get_client_info() 用于查看 mysql 的版本,我们可以使用这个函数查看 MySQL 库是否能成功链路。注意在 g++ 编译时,需要加上 -lmysqlclient 告诉编译器 MySQL 的库的位置:

g++ -o test test.cc -lmysqlclient

测试代码:

#include <iostream>
#include <mysql/mysql.h>
using namespace std;
int main()
{cout<<"mysql version:"<<mysql_get_client_info()<<endl;return 0;
}

C++2

3. 一些接口的使用方法

MySQL 的官网提供了所有 API 的使用方法及注意事项:MySQL API 文档

这里给出一些常用函数的使用。

3.1 初始化库

MySQL 在代码中,使用 MYSQL* 作为对象管理一个 MySQL 库,在代码中使用库前,必须先初始化:

MYSQL *mysql_init(MYSQL *mysql);

示例:

MYSQL * my = mysql_init(NULL);

3.2 连接库

初始化完毕后,将对象链接到指定的数据库,再进行后续操作:

MYSQL *mysql_real_connect(MYSQL *mysql,const char *host,const char *user,const char *passwd,const char *db,unsigned int port,const char *unix_socket,unsigned long client_flag)

参数解释:

host: 数据库的 IP,本地使用 127.0.0.1localhost

user: 登录数据库的账号。

passwd: 用户密码。

db: 要使用的数据库名字。

port: 连接的端口。

unix_socket: 一般设置为 nullptr 。这是一个仅适用于 Unix/Linux 系统的参数,它用于指定 Unix 域套接字,MySQL 客户端会通过 Unix 套接字进行连接,而不是使用 TCP/IP,使用时 host 必须是本地且端口为 0 (Unix 域套接字不使用端口号)。

**client_flag: 一般设置为 0 **。用于设置 额外的客户端选项,可以启用不同的连接特性。

返回值: 当连接失败时,返回 nullptr


示例:

#include <iostream>
#include <mysql/mysql.h>
using namespace std;
int main()
{MYSQL *my = mysql_init(NULL);string host = "127.0.0.1";string user = "root";string passwd = "123456";string db = "student";unsigned int port = 3306;if (mysql_real_connect(my, host.c_str(), user.c_str(), passwd.c_str(), db.c_str(), port, nullptr, 0)){cout << "student库连接成功" << endl;}else{cout << "student库连接失败" << endl;}mysql_close(my);return 0;
}

C++3

3.3 增删改接口

增删改接口使用 mysql_query() ,操作非常简单,将 SQL 语句传入这个函数的第二个参数即可,语法、效果等同于在命令行使用 SQL 语句进行增删改:

int mysql_query(MYSQL *mysql, const char *q);

返回值: 0 为执行成功。


示例:

#include <iostream>
#include <mysql/mysql.h>
using namespace std;
int main()
{MYSQL *my = mysql_init(NULL);string host = "127.0.0.1";string user = "root";string passwd = "123456";string db = "student";unsigned int port = 3306;if (mysql_real_connect(my, host.c_str(), user.c_str(), passwd.c_str(), db.c_str(), port, nullptr, 0)){cout << "student库连接成功" << endl;}else{cout << "student库连接失败" << endl;}mysql_set_character_set(my,"utf-8");string q = "insert into students(name,gender) values('张三','男');";if (mysql_query(my, q.c_str()) == 0){cout << "执行成功" << endl;}else{cout << "执行失败" << endl;}mysql_close(my);return 0;
}

注意,mysql_set_character_set(my,"utf-8"); 设置连接的默认字符是 utf8,原始默认是 latin1,不使用可能会导致插入的中文是乱码。

C++4

C++5

3.4 查询数据库接口

3.4.1 MYSQL_RES*和mysql_store_result()

用代码查询查询数据库返回结果反而是最困难的。

在代码中,要使用 MYSQL_RES 类型和 mysql_store_result() 来保存通过 mysql_query() 接口进行 select 返回的结果。

MYSQL_RES *mysql_store_result(MYSQL *mysql)

返回值: 失败返回 nullptr

该函数会调用 MYSQL 变量中的 st_mysql_methods 中的 read_rows 函数指针来获取查询的结果。同时该函数会返回 MYSQL_RES 这样一个变量,该变量主要用于保存查询的结果。同时该函数 malloc 了一片内存空间来存储查询过来的数据,所以最终一定要记得释放空间。


示例:

mysql_query(my,"select * from students");MYSQL_RES *res = mysql_store_result(my);
3.4.2 mysql_fetch_row()

获取到查询返回的结果后,就要进行存入 MYSQL_RES 的数据读取了。mysql_fetch_row() 是一个用于获取 MYSQL_RES 数据的接口,返回值是 MYSQL_ROW 实际就是 char** 的二维数组(但类型经过封装),每一行记录是二维数组的行,每行的字段是二维数组的列。如此,我们就可以通过这个接口分别获取到每条记录的每条字段的数据。

MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)

示例:

#include <iostream>
#include <mysql/mysql.h>
using namespace std;
int main()
{MYSQL *my = mysql_init(NULL);string host = "127.0.0.1";string user = "root";string passwd = "123456";string db = "student";unsigned int port = 3306;if (mysql_real_connect(my, host.c_str(), user.c_str(), passwd.c_str(), db.c_str(), port, nullptr, 0)){cout << "student库连接成功" << endl;}else{cout << "student库连接失败" << endl;}mysql_set_character_set(my, "utf-8");string q = "select * from students;";if (mysql_query(my, q.c_str()) == 0){cout << "执行成功" << endl;}else{cout << "执行失败" << endl;}MYSQL_RES *res = mysql_store_result(my);MYSQL_ROW line;my_ulonglong row = mysql_num_rows(res);unsigned int column = mysql_num_fields(res);for (int i = 0; i < row; i++){line = mysql_fetch_row(res);for (int j = 0; j < column; j++){cout << line[j] << " ";}cout << endl;}mysql_close(my);return 0;
}

mysql_num_rows()mysql_num_fields() 用于获取行和字段的数量。

C++6

3.5 其他接口

3.5.1 mysql_num_rows()和mysql_num_fields()

通过 mysql_num_rows()mysql_num_fields() 分别获取表的行和列的数量:

my_ulonglong mysql_num_rows(MYSQL_RES *res);unsigned int mysql_num_fields(MYSQL_RES *res);

3.5.2 mysql_close()

mysql_close() 用于关闭 mysql 连接。

void mysql_close(MYSQL *mysql)

3.5.3 mysql_free_result()

mysql_free_result() 用于释放由 mysql_store_result()mysql_use_result()mysql_list_dbs() 等函数申请的空间。

void mysql_free_result(MYSQL_RES *result)

文章转载自:

http://BzZZPXAG.wdqhg.cn
http://KU1Lqubt.wdqhg.cn
http://p6kcWwXo.wdqhg.cn
http://09BZTr6R.wdqhg.cn
http://buzeq8LX.wdqhg.cn
http://ME7Im478.wdqhg.cn
http://1i6gxcg2.wdqhg.cn
http://Mr3APzfh.wdqhg.cn
http://py9eI6Pu.wdqhg.cn
http://FvfUYizC.wdqhg.cn
http://Sya9GtKP.wdqhg.cn
http://qkRH8BQG.wdqhg.cn
http://E9qmcLxV.wdqhg.cn
http://SyPW12WQ.wdqhg.cn
http://VEGfzdce.wdqhg.cn
http://Z4aYDagL.wdqhg.cn
http://Ms3AjBry.wdqhg.cn
http://SsuYAoF4.wdqhg.cn
http://3VgaHAtY.wdqhg.cn
http://Sj0c3nJi.wdqhg.cn
http://bZCBHqYR.wdqhg.cn
http://F2Hzd1PP.wdqhg.cn
http://L90cix2l.wdqhg.cn
http://5ejPKljj.wdqhg.cn
http://GQNm6kZS.wdqhg.cn
http://B8NDfAuj.wdqhg.cn
http://zkbKiT2U.wdqhg.cn
http://7aI4BqXF.wdqhg.cn
http://wrExQn1s.wdqhg.cn
http://G0ygky4I.wdqhg.cn
http://www.dtcms.com/wzjs/621803.html

相关文章:

  • 西安关键词优化软件抖音关键词排名优化
  • 杭州专业网站建设网络推广培训平台
  • 论坛网站文本抓取怎么做wordpress怎么设置两个域名
  • 南京做网站设计备案网站建设方案模板
  • 高端网站建设公司的问题微信小程序 网站开发
  • 东莞网站设计如何wordpress sinaapp
  • 祝贺网站上线免费店铺logo设计
  • 织梦绑定网站出现错误网站开发脚本解析器
  • 德州网站建设费用软文投放平台有哪些?
  • 深圳做app网站暴疯团队seo课程
  • 用来做调查问卷的网站贵州 网站备案
  • 改写 wordpress 插件合肥网站的优化
  • 应聘网站运营建设面试商城建站模板
  • 网站开发公司经营范围京东联盟 wordpress
  • 香河县建设局网站阿里云买域名
  • 做网站要学的代码引流推广推广微信hyhyk1效果好
  • 别人做的网站山西新冠最新消息今天
  • 中原区建设局网站徐州做网站
  • 广州网站seo地址网站色哦优化8888
  • 怎么做网站设计修改WordPress网站
  • 品牌网站建设1毛尖网络seo培训
  • 珠海正规网站制作哪家强中国建材网站
  • 福利站wordpress温岭营销型网站建设
  • 网站欢迎页面在线设计小兔自助建站系统
  • 王悦做网站番禺俊才网官网
  • 建公司网站步骤如何制作电脑公司网站
  • 广州建设网站企业asp.net 网站安全 检测
  • 做网站需要多少钱一个月wordpress手机拍照插件
  • 电商网站服务器中国网站建设新闻
  • 关注江苏建设厅网站世界500强企业的核心价值观