10bet网址
MySQL 5.7 C API开发人员指南
下载本手册

5.4.22 mysql_field_count()

unsigned int mysql_field_count(mysql * mysql)

描述

返回连接上最新查询的列数。

此功能的正常使用是什么时候mysql_store_result()空值(因此您没有结果集指针)。在这种情况下,您可以打电话mysql_field_count()确定是否mysql_store_result()应该产生一个非空的结果。这使客户端程序能够在不知道查询是否为a的情况下采取适当的操作选择(或者选择-like)声明。这里所示的示例说明了如何完成这一点。

第3.6.7节,“null mysql_store_result()返回MySQL_Query()成功后”

返回值

表示结果集中列数的无符号整数。

错误

没有任何。

例子

mysql_res *结果;unsigned int num_fields;unsigned int num_rows;if(mysql_query(&mysql,query_string)){//错误} else //查询成功地处理它返回的任何数据{结果= mysql_store_result(&mysql);if(结果)//存在行{num_fields = mysql_num_fields(结果);//检索行,然后调用mysql_free_result(结果)} else // mysql_store_result()返回什么;它应该有吗?{if(mysql_field_count(&mysql)== 0){//查询不返回数据//(它不是选择)num_rows = mysql_affected_rows(&mysql);} else // mysql_store_result()应该返回数据{fprintf(stderr,错误:%s \ n“,mysql_error(&mysql));}}}

另一种选择是取代mysql_field_count(&mysql)打电话mysql_errno(&mysql)。在这种情况下,您正在直接检查错误mysql_store_result()而不是从价值推断mysql_field_count()声明是一个选择