mysql封装库_dmysql自己封装的mysql库

dmysql自己封装的mysql库

2021-01-23 11:58:432

怎么系统分类里面没有CGI啊?

最近好久没有发原创文章了,都在架构服务器,编写CGI程序

开头用了些天perl,后来发现对脚本语言尤其是特别牛X的正则表达式有些看不懂...

回头用C语言写高效率的吧,反正我自己写过好些C的库了...

下面贴一个mysql的库,叫做dmysql

解压缩以后,make;makeinstall安装

然后编译程序的时候,包含dmysql.h头文件,加上-ldmysql标识,即可

头里面定义了一个mysql数据库的结构体,

typedefstruct_dmysql_info

{

char*host;/*hostfordatabase*/

char*user;/*usernamefordatabase*/

char*pswd;/*passwordtotheaccount*/

char*dbbs;/*nameofdatabase*/

}dmysql_info;

记录集的数据类型

typedefstruct_dmysql_record

{

char*s_str;

}dmysql_record;

typedefstruct_dmysql_row

{

dmysql_record*s_record;

}dmysql_row;

typedefstruct_d_mysql_res

{

introw;

intfield;

dmysql_row*s_row;

}dmysql_res;

还有程序运行时候的出错代码

#defineDMYSQL_QUERY_OKAY0

#defineDMYSQL_SELECT_OKAY0

#defineDMYSQL_CONNECT_ERROR-1

#defineDMYSQL_INIT_ERROR-2

#defineDMYSQL_QUERY_ERROR-3

#defineDMYSQL_RES_ERROR-4

程序一共就3个函数

externintdmysql_query(constchar*s_query,constdmysql_infomysql_info);

给出一句执行的SQL命令,比如UPDATE、INSERT,指定一个数据库,就可以了

externintdmysql_select(dmysql_res**rel_res,constchar*s_select,constdmysql_infomysql_info);

传入一个数据库记录集的地址,给出一个SELECT记录的SQL命令,再制定一个数据库,就可以了

用来释放内存中在栈里面申明了的记录集空间

externvoiddmysql_free(dmysql_res*res);

下面是演示的程序代码:

#include

#include

intmain(void)

{

dmysql_infodb;

db.host="127.0.0.1";/*hostfordatabase*/

db.user="root";/*usernamefordatabase*/

db.pswd="";/*passwordtotheaccount*/

db.dbbs="mysql";/*nameofdatabase*/

char*s_query="GRANTALLON*.*to'dorainm'@'127.0.0.1'IDENTIFIEDBY'******';";

char*s_sql="SELECT`user`,`host`,`password`FROM`user`;";

inti,j;

dmysql_res*res;

dmysql_query(s_query,db);

printf("selectout:%d\n",dmysql_select(&res,s_sql,db));

for(i=0;irow;i++)

{

for(j=0;jfield;j++)

{

printf("%s\t",((res->s_row+i)->s_record+j)->s_str);

}

printf("\n");

}

dmysql_free(res);

return0;

};

maketest后运行./dmysql

dorainm@desktop:~/workroom/c/mylib/dmysql$maketestgcc-Wall-O3-odmysqlmain.c-ldmysql`mysql_config--libs``mysql_config--cflags`dorainm@desktop:~/workroom/c/mylib/dmysql$./dmysql

selectout:5

rootlocalhost%^$#!@%*&!

rootdesktop.dorainm.org%^$#!@%*&!

desktop.dorainm.org%^$#!@%*&!

localhost%^$#!@%*&!

dorainm127.0.0.1%^$#!@%*&!dorainm@desktop:~/workroom/c/mylib/dmysql$

点击这里复制本文地址

以上内容由聚米学院网友整理呈现,如对侵犯您的权益,请联系邮箱:fzsbm@qq.com

支持Ctrl+Enter提交

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值