日期:2014-05-16  浏览次数:20603 次

c语言调用mysql数据库存储过程
我用mysql_real_connect函数来连接数据库,因为算是一个长连接,得做一下容错处理,如果期间和数据库连接断掉了,我想在主循环中加一个判断,判断数据库是否还在连接中,若没有连接则再次用mysql_real_connect函数来连接数据库,想问下大家这块有没有什么办法能够判断mysql连接状态的,刚刚接触c语言调用数据库,什么都不懂,还希望大家多给点帮助。

还有就是加入了mysql后,Makefile怎么写,我在之前的makefile中加入链接库,
[code=C/C++][/code]
debug := 1
ifdef debug
CFLAGS += -g
else
CFLAGS += -O2
endif
CC := gcc
CFLAGS += -I.
CFLAGS += -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing
LDFLAGS += -L. 
LDFLAGS += -L/usr/lib/i386-linux-gnu -mysqlclient -z -m -rt -dl
LDFLAGS += -pthread
bin := mysql 
obj := mysql.o
#src := epoll.c main.c main.h epoll.h
src := $(wildcard *.c) $(wildcard *.h)

.PHONY : clean all debug

all : $(bin)
# @-ls -al $(bin)
$(bin) : $(obj)

$(obj) : $(src)


debug:
@echo $(src)
@echo $(obj)
@echo $(CFLAGS) 
@echo $(LDFLAGS)
@echo $(Q)

clean:  
rm -f $(bin) $(obj)

红字的地方是在网上找的交叉编译mysql需要用的
gcc $(mysql_config --cflags) xxx.c -o xxx $(mysql_config --libs)
红字部分就是$(mysql_config --cflags)、$(mysql_config --libs)这两部分展开,
但是用Makefile编译的时候,就提示 unrecognized option ‘-rt’
这个应该怎么写Makefile呢?

------解决方案--------------------
用C语言连接mysql数据库我推荐一个一个帖子
http://www.abc188.com/info/html/wangluobiancheng/Mysql/20080224/32578_2.html
至于如何修改makefile爱莫能助……
------解决方案--------------------
懒惰判断即可,即当下次请求时出现错误则重连。