各位好,我在使用mysql插入数据时遇到内存泄漏的问题,插入数据的代码如下:
int addDevice(xxx& info) /// xxx是我定义的一个结构体
{
char sql[2048]
memset(sql,0,2048);
sprintf(sql,"set @x1 = '%s',@x2 = '%s',@x3 = '%s',@x4 = %d,@x5 = %d,@x6 = %d",info.x1, info.x2, info.x3, info.x4, info.x5, info.x6);
if (mysql_query(conn,sql)) /// conn是已经成功连接数据库的句柄
{
return -1;
} sprintf(sql,"call insert_xxx(@x1,@x2,@x3,@x4,@x5,@x6)"); ///insert_xxx是数据库端的一个自定义sql函数
if (mysql_query(conn,sql))
{
return -1;
} return 0;
}
上段代码中,第2个mysql_query会导致内存在不停地增加,久了会把所有内存空间用掉,而把其注释掉,内存的情况正常。想问下有没有大牛知道这是什么原因造成的,是这样的用法不对还是其他问题,谢谢不吝赐教。mysql内存泄漏
int addDevice(xxx& info) /// xxx是我定义的一个结构体
{
char sql[2048]
memset(sql,0,2048);
sprintf(sql,"set @x1 = '%s',@x2 = '%s',@x3 = '%s',@x4 = %d,@x5 = %d,@x6 = %d",info.x1, info.x2, info.x3, info.x4, info.x5, info.x6);
if (mysql_query(conn,sql)) /// conn是已经成功连接数据库的句柄
{
return -1;
} sprintf(sql,"call insert_xxx(@x1,@x2,@x3,@x4,@x5,@x6)"); ///insert_xxx是数据库端的一个自定义sql函数
if (mysql_query(conn,sql))
{
return -1;
} return 0;
}
上段代码中,第2个mysql_query会导致内存在不停地增加,久了会把所有内存空间用掉,而把其注释掉,内存的情况正常。想问下有没有大牛知道这是什么原因造成的,是这样的用法不对还是其他问题,谢谢不吝赐教。mysql内存泄漏
这个帖子先结了,继续寻找问题去了。