首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql C API 多语句插入数据有关问题

2012-03-02 
mysql C API 多语句插入数据问题打开连接时用mysql_real_connect(),传递参数CLIENT_MULTI_STATEMENTS以支

mysql C API 多语句插入数据问题
打开连接时用mysql_real_connect(),传递参数CLIENT_MULTI_STATEMENTS以支持多语句查询
每执行mysql_query()来插入数据后,调用以下函数来清空返回结果集,以避免2014错误
void clear_result(MYSQL* conn)
{
if(!conn)
return;
do
{
MYSQL_RES* res = mysql_store_result(conn);
mysql_free_result(res);
}
while(0==mysql_next_result(conn));
}

但为什么一个查询里有三条insert into语句时,这个函数就会莫明其妙的崩掉,不明白
用gdb跟踪了好多遍,发现最后一遍循环时,调用mysql_next_result()后,conn这个结构里的数据全部都被破坏了
都是无效地址,请高手帮帮忙

[解决办法]

探讨
do
{
MYSQL_RES* res = mysql_store_result(conn);
mysql_free_result(res);
}
while(0==mysql_next_result(conn));
}

热点排行