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()
用于获取结果集中字段的数目,即获取一行中的列数。
需要传递一个结果集标识符作为参数。
返回的是结果集中当前行的列数,而不是整个结果集的列数。