c/c++-使用mysqlcapi中,预处理查询条件当过滤字段是字符串时
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c/c++-使用mysqlcapi中,预处理查询条件当过滤字段是字符串时,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2559字,纯文字阅读大概需要4分钟。
内容图文
![c/c++-使用mysqlcapi中,预处理查询条件当过滤字段是字符串时](/upload/InfoBanner/zyjiaocheng/569/5663ce3e359b4093bcf56d40b4873151.jpg)
#include #include #include int main(void){ // declares MYSQL * connection = NULL; MYSQL_STMT * stmt = NULL; MYSQL_BIND bind[3]; MYSQL_BIND inbind; // preprocess bzero(bind, sizeof(bind)); bzero(&inbind, sizeof(inbind)); // declare MYSQL * ptr connection = mysql_init(NULL); if (NULL == connection) { fprintf(stderr, "mysql_init err!"); return -1; } // connect connection = mysql_real_connect(connection, "localhost", "root", "root", "dblinuxcmysqlctr", 0, NULL, 0); if (NULL == connection) { fprintf(stderr, "mysql_real_connect err!"); return -1; } /* 1. init */ stmt = mysql_stmt_init(connection); /* ******************************************************** */ //char * insertsql = "select name from tlinuxcmysqlctr where age = ?;"; // 这里不就可以过滤了,过滤出来没有数据,是为啥呀? char * insertsql = "select name from tlinuxcmysqlctr where name = ?;"; /* ******************************************************** */ /* 2. prepare */ if(mysql_stmt_prepare(stmt, insertsql, strlen(insertsql))) { printf("mysql_stmt_prepare err!\n"); return -1; } char inpara1[50] = {0}; //int inpara1 = 4; char outpara1[50] = {0}; //bind[0].buffer_type = MYSQL_TYPE_LONG; //bind[0].buffer = &inpara1; //bind[0].buffer_length = sizeof(inpara1); bind[0].buffer_type = MYSQL_TYPE_STRING; strcpy(inpara1, "hello"); bind[0].buffer = inpara1; bind[0].buffer_length = sizeof(inpara1); bind[1].buffer_type = MYSQL_TYPE_STRING; bind[1].buffer = outpara1; bind[1].buffer_length = 50; /* 3. bind_param */ mysql_stmt_bind_param(stmt, bind + 0); /* 4. execute */ if (mysql_stmt_execute(stmt)) { printf("sorry\n"); } else { /* 3.5 */ mysql_stmt_bind_result(stmt, bind + 1); printf("bind[0].buffer = %s\n", (char *)bind[0].buffer); if (0 != mysql_stmt_store_result(stmt)) { printf("store result stmt err\n"); return -1; } else { printf("----------------------------table data--------------------------------\n"); while (!mysql_stmt_fetch(stmt)) { printf("name = %s\n", outpara1); } } mysql_stmt_free_result(stmt); } /* 5. close */ mysql_stmt_close(stmt); // mysql_close mysql_close(connection); return 0;}
内容总结
以上是互联网集市为您收集整理的c/c++-使用mysqlcapi中,预处理查询条件当过滤字段是字符串时全部内容,希望文章能够帮你解决c/c++-使用mysqlcapi中,预处理查询条件当过滤字段是字符串时所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。