c 读取mysql_c语言读取Mysql

c 读取mysql_c语言读取Mysql最近一段时间学习linux下的C开发,呵呵,写了一个测试程序,作用是读取Mysql的数据,然后显示出来。经测试成功……#include#include#include#defineDB_SERVER””#defineDB_NAME”test”#defineDB_USER”root”#defineDB_PWD””staticMYSQL*db_handel,mysql;st…

最近一段时间学习linux下的C开发,呵呵,写了一个测试程序,作用是读取Mysql的数据,然后显示出来。经测试成功……

#include

#include

#include

#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);//打开数据库连接

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

{

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/38866.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注