int mysql_stmt_next_result (MYSQL_STMT * mysql)
此函数在使用prepared时使用调用
语句来执行存储过程,可返回多个结果集。使用循环调用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.6.4节“预处理CALL语句支持”.
命令的执行顺序不正确。
MySQL服务器已经离开。
查询过程中与服务器的连接丢失。
发生了未知错误。