函数名:mysqli_stmt::next_result()
适用版本:PHP 5 >= 5.3.0, PHP 7
函数说明:mysqli_stmt::next_result() 用于在执行存储过程时,将结果集的指针移动到下一个结果集。
语法:bool mysqli_stmt::next_result()
参数说明:该函数没有参数。
返回值:如果成功移动到下一个结果集,则返回 true。如果没有更多的结果集可用,则返回 false。
示例代码:
<?php
// 创建数据库连接
$mysqli = new mysqli("localhost", "username", "password", "database");
// 检查连接是否成功
if ($mysqli->connect_errno) {
echo "连接数据库失败: " . $mysqli->connect_error;
exit();
}
// 准备执行存储过程
$stmt = $mysqli->prepare("CALL your_stored_procedure()");
// 执行存储过程
if ($stmt->execute()) {
// 检查是否有结果集
if ($stmt->store_result()) {
// 处理第一个结果集
// ...
// 检查是否还有更多的结果集
while ($stmt->next_result()) {
// 处理下一个结果集
// ...
}
} else {
echo "没有结果集可用";
}
} else {
echo "执行存储过程失败: " . $stmt->error;
}
// 关闭语句和数据库连接
$stmt->close();
$mysqli->close();
?>
在上面的示例代码中,我们首先创建了一个数据库连接,然后准备执行一个存储过程。在执行存储过程后,我们使用 store_result()
方法检查是否有结果集可用。如果有结果集,则处理第一个结果集,并使用 next_result()
方法在循环中处理后续的结果集。如果没有结果集可用,则输出相应的错误信息。最后,我们关闭了语句和数据库连接。