c语言打印mysql表值

Posted 吾乃世间奇才

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言打印mysql表值相关的知识,希望对你有一定的参考价值。

代码如下

#include <stdio.h>
#include <string.h>
#include <mysql/mysql.h>
#include <stdlib.h>

int main(int argc, char * argv[])
{
        MYSQL_RES *res_ptr;
        MYSQL_ROW sqlrow;                               //char **
        MYSQL mysql_con;                                //数据库fd,连接描述符
        mysql_init(&mysql_con);                         //初始化

        int i = 0;

        if(!mysql_real_connect(&mysql_con, "localhost", "root", "guxigua159708", "test0", 0, NULL, 0))  //连接数据库
        {
                fprintf(stderr, "Failed to connect databases Error is %s \\n", mysql_error(&mysql_con));
                mysql_error(&mysql_con);
        }
        mysql_set_character_set(&mysql_con, "utf8");                                                    //设置utf8编码,防止中文乱码



        if(mysql_query(&mysql_con, "select * from customers"))                          /*连接好数据库之后执行mysql语句*/
        {
                fprintf(stderr, "mysql_query error %s\\n", mysql_error(&mysql_con));
        }
        else
        {
                res_ptr =       mysql_use_result(&mysql_con);                           //push一个值
                if(res_ptr)
                {
                        while(  ( sqlrow = mysql_fetch_row(res_ptr) )   )               //返回储存结果的结构
                        {
                                unsigned int field_count        =       mysql_field_count(&mysql_con);
                                i=0;
                                while(i < field_count)
                                {
                                        if(sqlrow[i])
                                                printf("the %-3d is %-20s        ", i, sqlrow[i]);
                                        else
                                                printf("NULl\\n");
                                        i++;
                                }
                                putchar('\\n');

                        }
                }
                mysql_free_result(res_ptr);
        }



        return 0;
}

代码不是很严谨,有些地方为了简便没有做排错,数据库表如下
在这里插入图片描述编译并运行此程序
在这里插入图片描述

mysql函数手册下载地址

以上是关于c语言打印mysql表值的主要内容,如果未能解决你的问题,请参考以下文章

C语言代码片段

为啥在访问二级指针时出现分段错误错误? C语言

C语言打印图中两点之间的所有路径,不是最短路径!!!谢谢高手麻烦帮忙 代码要实现哈!

MySQL没有表值函数么

C语言打印图形

argparse 代码片段只打印部分日志