C mysql (C API Commands out of sync; you can't run this command now)


错误出现在当一个用户使用查询,另一个用户再使用此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);
        }
    }

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2026 CODEPRJ.COM