centos7上测试libmysqlclient包使用

centos7上测试libmysqlclient包使用

/// 测试代码
/**
 * hello_mysql.c
 */
#include <mysql/mysql.h>
#include <mysql/errmsg.h>
#include <stdio.h>
#include <errno.h>

int main()
{
    /// mysql init
    MYSQL *ms = mysql_init(NULL); /// 初始化mysql对象,并返回MYSQL对象 使用mysql_close关闭
    if(NULL == ms){
        perror("mysql_init error");
        goto END;
    }

    /// connect mysql server
    /// 192.168.110.133  为 host
    /// test 为user
    /// password 为该user的密码
    /// mysql为安装的mysql数据库的初始数据库名
    ms = mysql_real_connect(ms, "192.168.110.133", "test", "password", "mysql", 3306, NULL, 0);
    if(NULL == ms){
        perror("mysql_real_connect error");
        goto END;
    }

    /// query mysql
    if(0 != mysql_query(ms, "select Host, User, password_last_changed from user")){
        perror("mysql_query");
        goto END;
    }

    /// use query result
    /**
     * MYSQL_RES *mysql_use_result(MYSQL*);
     * 使用mysql_fetch_row()调用
     * 不会将服务端中的结果存储到本地,与mysql_store_result相比速度更快,内存使用更少
     */ 
    MYSQL_RES *res = NULL;
    if(NULL == (res = mysql_use_result(ms))){
        perror("mysql_use_result error");
        goto END;
    }

    /// read or fetch row
    /**
     * MYSQL_ROW mysql_fetch_row(MYSQL_RES*);
     * 如何没有更多行时,返回NULL
     */ 
    MYSQL_ROW row;
    while(NULL != (row = mysql_fetch_row(res))){
       printf("%s %s %s\n", row[0], row[1], row[2]);
    }


    if(NULL != res){
        mysql_free_result(res);
    }

END:
    mysql_close(ms);
    return 0;
}
#编译
gcc hello_mysql.c -L/usr/lib64/mysql -lmysqlclient -o hello_mysql

#执行
./hello_mysql

参考博客:
https://blog.csdn.net/locahuang/article/details/115203071

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值