以下的文章主要向大家描述的是用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("%s\n",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);
获取字段数
- fileds=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的介绍,望你能有所收获。
【编辑推荐】