原文来自 https://www.cnblogs.com/lywy510/p/3615710.html

 #include <stdio.h>
#include <stdlib.h>
#include <string.h> #include <mysql/mysql.h> MYSQL *g_conn;
MYSQL_RES *g_res;
MYSQL_ROW g_row; #define MAX_BUF_SIZE 1024 const char *g_host_name = "localhost";
const char *g_user_name = "root";
const char *g_password = "Ll123456..";
const char *g_db_name = "c_test";
const unsigned int g_db_port = ; void print_mysql_error(const char *msg) {
if (msg)
printf("%s:%s\n",msg,mysql_error(g_conn));
else
puts(mysql_error(g_conn));
} int executesql(const char *sql) {
if (mysql_real_query(g_conn,sql,strlen(sql)))
return -; return ;
} int init_mysql() {
g_conn = mysql_init(NULL);
if (!mysql_real_connect(g_conn,g_host_name,g_user_name,g_password,g_db_name,g_db_port,NULL,))
return -; return ;
} int main()
{
printf("hello world\n");
if (init_mysql())
print_mysql_error(NULL);
char sql[MAX_BUF_SIZE];
if (executesql(sql))
print_mysql_error(NULL);
if (executesql("select * from user;"))
print_mysql_error(NULL); g_res = mysql_store_result(g_conn);
int iNum_rows = mysql_num_rows(g_res);
int iNum_fields = mysql_num_fields(g_res);
printf("line = %d\t constent = %d\n", iNum_rows, iNum_fields);
puts("id\tname\n"); while ((g_row=mysql_fetch_row(g_res)))
printf("%s\t%s\n", g_row[], g_row[]); mysql_free_result(g_res);
mysql_close(g_conn);
return ;
}

编译命令

mysql 库文件自己找一下, 一般会使 mysql-dev.....

希望对你有用

linux_connect_mysql的更多相关文章

随机推荐

  1. sql server 使用链接服务器连接Oracle,openquery查询数据

      对接问题描述:不知道正式库oracle数据库账户密码,对方愿意在对方的客户端上输入账号和密码,但不告诉我们 解决方案:使用一台sql server作为中间服务器,可以通过转存数据到sql serv ...

  2. BZOJ2806:[CTSC2012]Cheat(广义SAM,二分,DP)

    Description Input 第一行两个整数N,M表示待检查的作文数量,和小强的标准作文库的行数 接下来M行的01串,表示标准作文库 接下来N行的01串,表示N篇作文 Output N行,每行一 ...

  3. P1710 地铁涨价

    题目背景 本题开O2优化,请注意常数 题目描述 博艾市除了有海底高铁连接中国大陆.台湾与日本,市区里也有很成熟的轨道交通系统.我们可以认为博艾地铁系统是一个无向连通图.博艾有N个地铁站,同时有M小段地 ...

  4. [JLOI2009]二叉树问题

    嘟嘟嘟 对于求深度和宽度都很好维护.深度dfs时维护就行,宽度统计同一个深度的节点有多少个,然后取max. 对于求距离,我刚开始以为是要走到根节点在回来,然后固输了(dep[u] - 1) * 2 + ...

  5. weblogic之CVE-2018-3191漏洞分析

    weblogic之CVE-2018-3191漏洞分析 理解这个漏洞首先需要看这篇文章:https://www.cnblogs.com/afanti/p/10193169.html 引用廖新喜说的,说白 ...

  6. 域对象 request

    一)域对象: 1)request的生命周期: 从请求开始创建,到响应完成结束. 2)  作用:携带一次请求内的数据. 3)请求转发: 请求转发: 1)浏览器发送请求到服务器A,然后服务器A将请求转发到 ...

  7. Spring整合MyBatis(二)Spring整合MyBatis

    摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 了解了MyBatis的独立使用过程后,我们再看看它与Spring整合的 ...

  8. nodeJs搭建简单服务器

    实现简单的例子:hello word 把第一个文件命名为server.js 在server.js里写入 var http  = require("http"); http.crea ...

  9. Java 并发系列(一) ThreadPoolExecutor源码解析及理解

    ThreadPoolExecutor 它是线程池最核心的类, 这里对核心的方法做简要的剖析(会持续更新),以加深对线程池运行原理的理解. 1. 核心成员变量及相关方法 // ctl非常重要,用整型表示 ...

  10. iOS 倒计时的一种实现

    1.view [self performSelectorInBackground:@selector(thread) withObject:nil]; - (void)thread { ;i>= ...