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

网站seo优化案例记录网站 自己做

网站seo优化案例,记录网站 自己做,广西建设科技协会网站首页,软件开发项目实施方案一、安装数据库 安装我们要使用的数据库有两种方法 手动安装包导入 在数据库的官网找到对应版本的安装包,然后导入自己的系统库中去,在项目需要时用include包一下头库文件即可直接用系统指令下载 以Ubantu20.04举例 sudo apt install -y libmysqlclient-…

一、安装数据库

安装我们要使用的数据库有两种方法

  1. 手动安装包导入
    在数据库的官网找到对应版本的安装包,然后导入自己的系统库中去,在项目需要时用include包一下头库文件即可
  2. 直接用系统指令下载
    以Ubantu20.04举例
sudo apt install -y libmysqlclient-dev 

这样我们的库中就将mysql安装包下载好了,在使用时如果报错记得在编译时包一下头文件和库文件的路径

例如:

g++ -o $@ $^ -I./include -L./lib  -lmysqlclient

如果找不到可以使用下面的指令,可以找出这个库安装的所有文件的路径

dpkg -L libmysqlclient-dev

在这里插入图片描述
include 包含所有的方法声明, lib 包含所有的方法实现(打包成库)

二、接口使用

1.初始化

使用库之前先初始化

MYSQL *mysql_init(MYSQL *mysql);

例:

    //1.初始化
if(my==nullptr)
{std::cerr<<"init error"<<std::endl;return 1;
}

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 clientflag);

举例:

//2.连接
if(mysql_real_connect(my,host.c_str(),user.c_str(),password.c_str(),db.c_str(),port,nullptr,0)==nullptr)
{std::cerr<<"connect error"<<std::endl;return 2;
}

如果发现自己数据出现乱码的情况,可能是编码没有将编码没有设置好

默认是latin,可以显示英文,但要显示中文需将默认字符集改为utf_8

mysql_set_character_set(myfd, "utf8");

3.执行mysql命令

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

第一个参数为初始化的返回值,第二个参数为要执行的sql语句,如“select * from table”

//3.命令
std::string sql="select * from users";
int n=mysql_query(my,sql.c_str());
if(n==0)
{std::cout<<"query "<<sql<<" success"<<std::endl;
}
else
{std::cerr<<"query "<<sql<<" error"<<std::endl;return 3;
}

到这里如果我们执行的是增删改等修改操作的话,就已经成功执行了,但如果是要执行查找等需要查看结果的SQL语句,我们就还需要通过一个接口来获取查找的数据

4.查看执行结果数据

MYSQL_RES *mysql_store_result(MYSQL *mysql);
MYSQL_RES* res = mysql_store_result(my);

该函数会调用MYSQL变量中的st_mysql_methods中的 read_rows 函数指针来获取查询的结果。

同时该函数会返回MYSQL_RES 这样一个变量,该变量主要用于保存查询的结果,同时malloc了一片内存空间来存储查询过来的数据,所以我们一定要记的 free(result),不然是肯定会造成内存泄漏的。

执行完mysql_store_result以后,其实数据都已经在MYSQL_RES 变量中了,下面的api就是来读取MYSQL_RES 中的数据。

  1. 获取结果行数mysql_num_rows
my_ulonglong mysql_num_rows(MYSQL_RES *res);
  1. 获取结果列数mysql_num_fields
unsigned int mysql_num_fields(MYSQL_RES *res);
  1. 获取列名mysql_fetch_fields
MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *res);
  • 获取列名属性
//属性MYSQL_FIELD *fields_array = mysql_fetch_fields(res);for(int i=0;i<fields;i++){std::cout<<fields_array[i].name<<"\t";}std::cout<<std::endl;

在这里插入图片描述

  • 获取数据
//数据
for(int i=0;i<rows;i++)
{MYSQL_ROW row = mysql_fetch_row(res);for(int j=0;j<fields;j++){std::cout<<row[j]<<"\t";}std::cout<<std::endl;
}

在这里插入图片描述

5.释放空间,关闭mysql链接

 // 释放结果空间
mysql_free_result(res);// 关闭mysql连接
mysql_close(my);
http://www.dtcms.com/a/472753.html

相关文章:

  • 公司做网站一般wordpress微信公众号关注
  • 西安建设厅网站首页做一个网站的基本步骤
  • 怎么做网页站点网站服务器建设合同
  • 广西备案工信部网站关于网站建设的讲话
  • 旅游网站设计总结怎么创建自己的博客网站
  • 国外购物网站排行榜鹿泉城乡建设局网站
  • 宁波网站建设方式wordpress 删除的模板
  • 如何给服务器建设网站wordpress ip验证不当
  • 西安网站开发制作wordpress结构化数据
  • 上海市建设干部学校网站小程序代理哪家好济宁
  • 合肥商城网站建设地址建设网站账务处理
  • 保定模板做网站网站站长如何赚钱
  • 网站建设销售好wordpress所有外链本地化
  • cadisen卡迪森手表网站做网站答辩总结范文
  • 外贸先做网站还是开公司沈阳市建设工程信息网招标公告
  • 广州企业建站素材深圳企业培训
  • 吉利网站建设网站制作 苏州
  • 南京网站建设希丁哥网站首页快照怎么做
  • 怎么查网站是否被k中文网站模板
  • 网站建设维护php动漫制作专业相近专业
  • 常熟seo网站优化软件做网站优化企业
  • 做网站背景图片要多大市住建设局网站
  • 重庆市建设银行网站如何做网站产品经理
  • 哪些网站是动态pc网站开发成app难度
  • 荣县网站建设做的网站怎么样才能再网上看到
  • 湖州 网站建设手机网站适合分开做
  • 互联网网站设计网站开发用什么好
  • 深圳seo网站优化公司wordpress 帮助插件
  • 公司网站做好了还需做网站销售东西 需要什么资质
  • 网站建设 方案 评价表网站页面优化技巧