6.4.17 mysql_stmt_next_result()

int mysql_stmt_next_result(mysql_stmt * mysql)

描述

使用准备时使用此功能称呼执行存储过程的语句,可以返回多个结果集。使用调用的循环mysql_stmt_next_result()确定是否有更多结果。如果程序有出去或者进出参数,它们的值将作为按照任何其他结果集设置的单行结果集。值将以它们在过程参数列表中声明的顺序显示。

有关未处理条件对程序参数影响的信息,请参阅条件处理和输出或排出参数

mysql_stmt_next_result()返回状态以指示是否存在更多结果。如果mysql_stmt_next_result()返回错误,没有更多结果。

每次呼叫之前mysql_stmt_next_result(),你必须打电话mysql_stmt_free_result()对于当前结果,如果它生成结果集(而不是结果状态)。

召唤后mysql_stmt_next_result()连接的状态就像你叫的那样mysql_stmt_execute()。这意味着你可以打电话mysql_stmt_bind_result()mysql_stmt_affected_rows()等等。

还可以通过呼叫来测试是否有更多结果mysql_more_results()。但是,此功能不会更改连接状态,因此如果它返回true,则必须呼叫mysql_stmt_next_result()前进到下一个结果。

有关显示如何使用的示例mysql_stmt_next_result(), 看第3.6.4节“准备好呼叫声明支持”

返回值

返回值 描述
0. 成功,结果更多
-1 成功,没有更多的结果
> 0 发生错误

错误