int mysql_stmt_next_result (MYSQL_STMT * mysql)
此功能在使用准备时使用调用
语句执行存储过程,可以返回多个结果集。使用调用的循环mysql_stmt_next_result ()
来确定是否有更多的结果。如果一个过程出
或INOUT
参数后,它们的值将作为单行结果集返回,紧跟在任何其他结果集之后。这些值将按照它们在过程参数列表中声明的顺序出现。
有关未处理的条件对过程参数的影响的信息,请参见条件处理和OUT或INOUT参数.
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.5.4节,“准备好的CALL语句支持”.
命令的执行顺序不正确。
MySQL服务器已经消失。
在查询过程中,与服务器的连接丢失。
出现未知错误。