MySQL cAPI踩下的坑

1.使用mysql_real_query函数查询之后没有对结果集进行释放

MySQL中,如果查询之后没有释放结果集,会导致MySQL无法进行下一步操作

使用mysql_errno获取错误码:2014

正确做法

c 复制代码
//执行查询
mysql_real_query(mysql_, stmt_str.c_str(), length);
//获取结果集
MYSQL_RES *res = mysql_store_result(mysql_);
// 释放结果集以便下一步的mysql插入操作
mysql_free_result(res);

2.mysql_field_count 和 mysql_num_fields 是两个不同的 MySQL 函数

  • mysql_field_count()
    用于获取上一条与指定连接标识符关联的查询所取得的列数。
    返回的是整个查询结果集的列数,而不是特定的行的列数。
    通常用于检查查询返回的列数是否符合预期。
  • mysql_num_fields()
    用于获取结果集中字段的数目,即获取一行中的列数。
    需要传递一个结果集标识符作为参数。
    返回的是结果集中当前行的列数,而不是整个结果集的列数。
相关推荐
追逐时光者1 小时前
免费、简单、直观的数据库设计工具和 SQL 生成器
后端·mysql
drebander2 小时前
MySQL 查询优化案例分享
数据库·mysql
小林coding4 小时前
阿里云 Java 后端一面,什么难度?
java·后端·mysql·spring·阿里云
18号房客5 小时前
高级sql技巧进阶教程
大数据·数据库·数据仓库·sql·mysql·时序数据库·数据库架构
翔云1234566 小时前
MySQL purged gtid是如何生成和维护的
数据库·mysql
平行线也会相交7 小时前
云图库平台(三)——后端用户模块开发
数据库·spring boot·mysql·云图库平台
恒辉信达8 小时前
hhdb客户端介绍(53)
数据库·mysql·hhdb·数据库可视化界面客户端
Hello.Reader9 小时前
Redis热点数据管理全解析:从MySQL同步到高效缓存的完整解决方案
redis·mysql·缓存
是程序喵呀10 小时前
MySQL备份
android·mysql·adb
指尖上跳动的旋律10 小时前
shell脚本定义特殊字符导致执行mysql文件错误的问题
数据库·mysql