mysqli::next_result()函数用于在执行多个存储过程时,遍历结果集。它会将光标移动到下一个结果集。
用法:
mysqli::next_result();
示例:
假设我们有一个存储过程get_users
,它返回两个结果集:第一个结果集包含用户的基本信息,第二个结果集包含用户的订单信息。我们可以使用mysqli::next_result()
来遍历这两个结果集。
// 连接到数据库
$mysqli = new mysqli("localhost", "username", "password", "database");
// 执行存储过程
$result = $mysqli->query("CALL get_users()");
// 遍历第一个结果集(用户基本信息)
while ($row = $result->fetch_assoc()) {
// 处理每一行数据
echo $row['username'] . "<br>";
}
// 移动到下一个结果集(用户订单信息)
$mysqli->next_result();
// 遍历第二个结果集(用户订单信息)
while ($row = $result->fetch_assoc()) {
// 处理每一行数据
echo $row['order_id'] . "<br>";
}
// 关闭数据库连接
$mysqli->close();
在上面的示例中,我们首先连接到数据库并执行存储过程get_users
。然后,我们使用mysqli::next_result()
将光标移动到下一个结果集(用户订单信息)。最后,我们遍历第二个结果集并处理每一行数据。请注意,在遍历第二个结果集之前,我们不需要重新执行存储过程,只需要使用mysqli::next_result()
移动到下一个结果集即可。