10bet网址
MySQL 5.7 C API开发指南
本手册下载
PDF (Ltr)- 1.1 mb
PDF (A4)- 1.1 mb
HTML下载(TGZ)- 147.1KB.
HTML下载(邮政编码)- 156.9 kb


5.4.13 mysql_eof ()

my_bool mysql_eof (MYSQL_RES *结果)

描述

此函数不建议使用。mysql_errno ()mysql_error ()可以代替使用。

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

的成功调用获取结果集mysql_store_result (),客户端在一个操作中接收整个集合。在这种情况下,a回来mysql_fetch_row ()总是表示已经到达结果集的末尾,不需要调用mysql_eof ().一起使用时mysql_store_result ()mysql_eof ()总是返回true。

另一方面,如果你使用mysql_use_result ()要启动结果集检索,在调用时将从服务器逐一获取结果集的行mysql_fetch_row ()反复。因为在此过程中,连接可能发生错误返回值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);mysql_eof(result)) // mysql_fetch_row() failed due to an error {fprintf(stderr, " error: %s\n", mysql_error(&mysql)); //如果mysql_fetch_row()失败}

但是,你可以用标准的MySQL错误函数达到同样的效果:

mysql_query(&mysql,"SELECT * FROM some_table");结果= mysql_use_result (mysql);//如果(mysql_errno(&mysql)) // mysql_fetch_row() failed due to an error {fprintf(stderr, " error: %s\n", mysql_error(&mysql)); //如果mysql_fetch_row() failed to an error {fprintf(stderr, " error: %s\n", mysql_error(&mysql));}