以下的文章主要向大家描述的是用c语言正确读取MySQL数据库的实际操作流程,如果你对用c语言正确读取MySQL数据库的正确操作流程感兴趣的话,那么以下的文章就会满足你的好奇之心了。
日前一段时间我们学习了linux操作系统下的C开发,呵呵,写了一个测试程序,作用是读取MySQL的数据,然后显示出来。经测试成功…
#include <stdio.h> #include <stdlib.h> #include <MySQL.h> #define DB_SERVER "" #define DB_NAME "test" #define DB_USER "root" #define DB_PWD "" static MySQL *db_handel,MySQL; static MySQL_ROW row; static int query_error; MySQL_RES *query_test(char *sql); int query_show(MySQL_RES *result); int main(int argc,char *argv[]) { MySQL_RES * results; results=query_test("select * from test");
获取记录
query_show(results);
显示记录
return 0; }
查询记录
MySQL_RES *query_test(char *sql) { static MySQL_RES *query_result; printf("%sn",sql); MySQL_init(&MySQL); db_handel=MySQL_real_connect(&MySQL,DB_SERVER,DB_USER,DB_PWD,DB_NAME,0,0,0);
打开读取MySQL数据库连接
if(db_handel==NULL)
错误处理
{
printf(MySQL_error(&MySQL)); return NULL; } query_error=MySQL_query(db_handel,sql);
查询
if(query_error!=0)
错误处理
{ printf(MySQL_error(db_handel)); return NULL; } query_result=MySQL_store_result(db_handel);
获取记录
MySQL_close(db_handel);
关闭数据库
return query_result;
返回记录
}
显示记录
int query_show(MySQL_RES *result) { unsigned int i,num_fields; MySQL_FIELD *fileds; num_fields=MySQL_num_fields(result);
获取字段数
mysql _fetch_fields(result);
获取字段数组 while((row=mysql_fetch_row(result))!=NULL)
循环显示 { for(i=0;i<num_fields;i++) { printf("%s: %s n",fileds[i].name,row[i] row[i]:"NULL"); } } return 0; }
以下是MakeFile文件内容 CC=gcc #LDLIBS=`gtk-config --libs --cflags` LDLIBS=-L /usr/lib/mysql -I /usr/include/mysql -l mysqlclient CFLAGS=-Wall -g`gtk-config --cflags` window:window.c $(CC) $(LDLIBS) window.c -o window #window.o:window.c # $(CC) $(LDLIBS) -c window.c clean: rm -f window rm -f *.o
上面说了这么多内容,是关于对c语言读取Mysql的介绍,不知道各位对MySQL的认识是不是更上一层楼了,时时关注ITJS,学习最新Mysql技术。