用mysql进行数据查询的时候,mysql会返回一个结果集给我们。接着我们需要调用mysql的api,从这个结果集中取得我们要的数据。
取完数据之后,需要释放这个结果集。
mysql的结果集其实就是一个MYSQL_RES结构,其定义如下:
typedef struct st_mysql_res {
my_ulonglong row_count; // 结果集的行数
unsigned int field_count, current_field; // 结果集的列数,当前列
MYSQL_FIELD *fields; // 结果集的列信息
MYSQL_DATA *data; // 结果集的数据
MYSQL_ROWS *data_cursor; // 结果集的光标
MEM_ROOT field_alloc; // 内存结构
MYSQL_ROW row; // 非缓冲的时候用到
MYSQL_ROW current_row; //mysql_store_result时会用到。当前行
unsigned long *lengths; //每列的长度
MYSQL *handle; // mysql_use_result会用。
my_bool eof; //是否为行尾
} MYSQL_RES;