函数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;
}
解决方案 »
- 为何profile里面的IO值为0 ??????????
- 执行mysqldump备份数据库时出现outfile disabled错误
- mysql的执行很慢,而且会出现死锁
- mssql 语句转换mysql语句的问题:请教
- 我想将自己机器上的MySQL数据库移动到别的机器上用,应该怎么做?
- 请教mysql的最佳存储容量
- 关于MYSQL中自动增加列的问题,在线等候
- MySQL的最新版本是多少 ,有什么改进,大家用了之后有什么感受,怎么解决事务处理的?
- mysql从5.5降到5.1 需要在那些方面做改动?
- mysql 查询表中字段值相同的记录
- 强烈鄙视这样结贴的
- 用mysql写应该如何写分层查询?谢谢!
这代码,写得......
MYSQL mysql; //db handler
mysql_init (&mysql);
if(!mysql_real_connect(&mysql,"localhost","root","123456","sd",3306,NULL,0))在程序初始化时调用,然后将mysql作为参数,传递到各个需要使用的数据库的函数中?数据库用的不多,请多指教