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;
}
代码不是很严谨,有些地方为了简便没有做排错,数据库表如下
编译并运行此程序
以上是关于c语言打印mysql表值的主要内容,如果未能解决你的问题,请参考以下文章