c中使用mysql , 在用mysql_store_result得到MYSQL_RES*之后, 先mysql_close, 再使用mysql_fetch_row调用MYSQL_RES*数据,这样做可以么?

解决方案 »

  1.   

    不可以。
    mysql_free_result 相当于 C++ 中的 delete。 我估计都是在堆中产生的数据,所以用这个函数来释放
      

  2.   

    我没说不mysql_free_result啊, 我问的是先mysql_close再mysql_fetch_row可不可以?
      

  3.   

    你都close(释放资源了),怎么fetch里头的row啊?
      

  4.   

    mysql_close 函数的作用是断开连接,你想在断开连接之后释放内存吗? 当然不行了。你要先释放资源,最后一步才是断开连接
      

  5.   

    我测试是可以的,mysql_close只是断开连接而已, 资源已经在mysql_store_result时就已经mallco了,断开连接也不会有影响