错误出现在当一个用户使用查询,另一个用户再使用此sql连接进行查询的时候;
原因是因为上一次使用此sql连接进行查询时没有将所有的结果集给释放掉,在所有使用此sql连接进行查询的地方将所有的结果集给释放掉,正确的做法如下
MYSQL_RES *result_ptr = mysql_store_result(tpSqlConn); if (result_ptr) { MYSQL_ROW row = mysql_fetch_row(result_ptr); if (row) { rtn_str = row[0]; } mysql_free_result(result_ptr); // 释放当前查询的所有结果集. 否则下次查询将会出错. while (!mysql_next_result(tpSqlConn)) { result_ptr = mysql_store_result(tpSqlConn); mysql_free_result(result_ptr); } }