錯誤出現在當一個用戶使用查詢,另一個用戶再使用此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); } }