函数func如下,部分跟数据库无关的作了省略,这个函数会在很多地方被调用,而且调用的非常频繁现在问题是当程序运行一段时间后,mysql_real_connect将无法执行通过,常常连不上数据库了,请问这会是什么原因造成的,请高手指点一下,万分感谢!!!!!
int func(void){
MYSQL mysql; //db handler
MYSQL_RES *results;
MYSQL_ROW row;
mysql_init (&mysql);
char buff[40];
if(!mysql_real_connect(&mysql,"localhost","root","123456","sd",3306,NULL,0)){
mysql_close(&mysql);
return NULL; //link db error
} ........
if(mysql_real_query(&mysql,strsql,strlen(strsql))){
mysql_close(&mysql);
return NULL;
} .............. if(!(results = mysql_store_result(&mysql))){
mysql_free_result(results);
mysql_close(&mysql);
return NULL; //fetch record error
}
mysql_free_result(results);
mysql_close(&mysql);
return NULL;
}
int func(void){
MYSQL mysql; //db handler
MYSQL_RES *results;
MYSQL_ROW row;
mysql_init (&mysql);
char buff[40];
if(!mysql_real_connect(&mysql,"localhost","root","123456","sd",3306,NULL,0)){
mysql_close(&mysql);
return NULL; //link db error
} ........
if(mysql_real_query(&mysql,strsql,strlen(strsql))){
mysql_close(&mysql);
return NULL;
} .............. if(!(results = mysql_store_result(&mysql))){
mysql_free_result(results);
mysql_close(&mysql);
return NULL; //fetch record error
}
mysql_free_result(results);
mysql_close(&mysql);
return NULL;
}
这代码,写得......
MYSQL mysql; //db handler
mysql_init (&mysql);
if(!mysql_real_connect(&mysql,"localhost","root","123456","sd",3306,NULL,0))在程序初始化时调用,然后将mysql作为参数,传递到各个需要使用的数据库的函数中?数据库用的不多,请多指教