10bet网址
MySQL 5.6 C API开发指南
本手册下载
PDF (Ltr)- 1.1 mb
PDF (A4)- 1.1 mb
HTML下载(TGZ)- 135.1 kb
HTML下载(邮政编码)- 144.8 kb


5.4.46 mysql_next_result ()

int mysql_next_result (MYSQL * MYSQL)

描述

mysql_next_result ()在执行作为单个语句字符串指定的多条语句时使用,或在使用调用语句执行存储过程,可以返回多个结果集。

mysql_next_result ()读取下一个语句结果,并返回指示是否存在更多结果的状态。如果mysql_next_result ()返回一个错误,没有更多的结果。

每次呼叫前mysql_next_result (),你必须打电话mysql_free_result ()对于当前语句,如果它是返回结果集(而不仅仅是结果状态)的语句。

后调用mysql_next_result ()连接的状态与调用相同mysql_real_query ()mysql_query ()对于下一个语句。这意味着您可以调用mysql_store_result ()mysql_warning_count ()mysql_affected_rows ()等等。

如果您的程序使用调用语句执行存储过程CLIENT_MULTI_RESULTS必须启用标志。这是因为调用返回一个结果以指示调用状态,以及过程中执行的语句可能返回的任何结果集。因为调用可以返回多个结果,使用调用的循环处理它们mysql_next_result ()来确定是否有更多的结果。

CLIENT_MULTI_RESULTS呼叫时是否可以启用mysql_real_connect (),可以通过显式传递CLIENT_MULTI_RESULTS标记自身,或隐式传递CLIENT_MULTI_STATEMENTS(也可以CLIENT_MULTI_RESULTS).在MySQL 5.6中,CLIENT_MULTI_RESULTS默认启用。

也可以通过调用来测试是否有更多的结果mysql_more_results ().但是,这个函数不会改变连接状态,所以如果它返回true,您仍然必须调用mysql_next_result ()进入下一个结果。

示例,演示如何使用mysql_next_result (),请参阅第3.5.2节,“多语句执行支持”

返回值

返回值 描述
0 成功了就有更多的结果
-1 成功了就不再有结果
>0 一个错误发生

错误