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

5.4.14 mysql_eof()

bool mysql_eof(mysql_res *结果)

描述

此功能已不推荐使用。mysql_errno()或者mysql_error()可以改为使用。

mysql_eof()确定是否已读取结果集的最后一行。

如果您从成功的呼叫中获取结果集mysql_store_result(),客户端在一个操作中接收整个集合。在这种情况下,一个空值退回mysql_fetch_row()始终意味着已达到结果集的结尾,并且不必呼叫mysql_eof()。当使用时mysql_store_result()mysql_eof()总是返回true。

另一方面,如果你使用mysql_use_result()要启动结果集检索,请在您呼叫时从服务器1逐个获取该集合的行mysql_fetch_row()反复。由于在此过程中连接时可能发生错误,因此a空值返回值mysql_fetch_row()不一定意味着正常达到结果集的结束。在这种情况下,您可以使用mysql_eof()确定发生了什么。mysql_eof()如果达到结果集的结尾并且如果发生错误,则返回非零值。

从历史上看,mysql_eof()预测标准MySQL错误函数mysql_errno()mysql_error()。因为这些错误函数提供相同的信息,所以它们的使用是首选mysql_eof(),已弃用。(事实上​​,他们提供更多信息,因为mysql_eof()只返回一个布尔值,而错误函数表示发生在一个时出现错误的原因。)

返回值

成功零。非零如果已达到结果集的结尾。

错误

没有任何。

例子

以下示例显示您如何使用mysql_eof()

mysql_query(&mysql,select * from some_table“);结果= mysql_use_result(&mysql);while((the = mysql_fetch_row(结果)))){//使用data}(!mysql_eof(结果))// mysql_fetch_row()由于错误{fprintf(stderr,错误:%s \ n“,mysql_error(&mysql));}

但是,您可以使用标准MySQL错误功能达到相同的效果:

mysql_query(&mysql,select * from some_table“);结果= mysql_use_result(&mysql);while((the = mysql_fetch_row(结果)))){//与数据做某事}如果(mysql_errno(&mysql))// mysql_fetch_row()由于错误而失败{fprintf(stderr,“错误:%s \ n”,mysql_error(&mysql));}