PDF(美国LTR)- 1.1MB.
PDF(A4)- 1.1MB.
HTML下载(TGZ)- 147.2KB.
HTML下载(ZIP)- 156.9KB.
unsigned int mysql_num_fields(mysql_res *结果)
通过A.mysql *
反而,使用unsigned int mysql_field_count(mysql * mysql)
。
返回结果集中的列数。
您可以从指针到结果集或连接处理程序获取列数。如果,您将使用连接处理程序mysql_store_result()
或者mysql_use_result()
回空值
(因此您没有结果集指针)。在这种情况下,您可以打电话mysql_field_count()
确定是否mysql_store_result()
应该产生一个非空的结果。这使客户端程序能够在不知道查询是否为a的情况下采取适当的操作选择
(或者选择
-like)声明。这里所示的示例说明了如何完成这一点。
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_errno(&mysql)){fprintf(stderr,错误:%s \ n“,mysql_error(&mysql));}否则如果(mysql_field_count(&mysql)== 0){//查询不返回数据//(它不是选择)num_rows = mysql_affected_rows(&mysql);}}}
替代方案(如果您知道您的查询应该返回结果集)是替换mysql_errno(&mysql)
呼叫检查是否mysql_field_count(&mysql)
返回0.只有在出现问题时才会发生这种情况。