微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 mysql_free_result() 之后是否仍然可以访问由 mysql_fetch_row() 获取的 MYSQL_ROW 对象?

如何解决在 mysql_free_result() 之后是否仍然可以访问由 mysql_fetch_row() 获取的 MYSQL_ROW 对象?

我想像这样用 C 编写一个辅助函数。 (dbconn一个全局变量。) mysql_fetch_row()mysql_free_result() 的引用并没有说明在调用后者后前者的返回值是否仍然可用。我真的不想写一个循环来重新分配一行的值。

此外,无论答案如何,我都想知道这种行为在所有未来的库版本中是否值得信赖。

MysqL_ROW getonerow(const char *query)
{   
    MysqL_ROW retval = NULL;
    MysqL_RES *result = NULL;

    if (!MysqL_query(dbconn,query))
    {   
        result = MysqL_store_result(dbconn);
        if (result)
        {
            retval = MysqL_fetch_row(result);
            MysqL_free_result(result);
        }
    }
    
    return retval;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。