在 PHP/MySQLi 中使用存储过程检索多个结果集
处理返回多个结果集的存储过程时,前进到后续结果在 MySQLi 中可能是一个挑战。
问题:
您有一个包含多个结果的存储过程,并且想要使用 PHP/MySQLi 检索第二个结果集。然而,使用 mysqli_next_result() 似乎并不能有效地工作。
解决方案:
要从存储过程成功检索多个结果:
准备并执行存储过程:
<code class="php">$stmt = mysqli_prepare($db, 'CALL multiples(?, ?)'); mysqli_stmt_bind_param($stmt, 'ii', $param1, $param2); mysqli_stmt_execute($stmt);</code>
获取第一个结果集:
<code class="php">$result1 = mysqli_stmt_get_result($stmt); while ($row = $result1->fetch_assoc()) { // Process first result set }</code>
前进到下一个结果集:
<code class="php">mysqli_stmt_next_result($stmt);</code>
获取第二个结果集:
<code class="php">$result2 = mysqli_stmt_get_result($stmt); while ($row = $result2->fetch_assoc()) { // Process second result set }</code>
关闭语句:
<code class="php">mysqli_stmt_close($stmt);</code>
附加说明:
按照以下步骤,您可以成功使用 PHP/MySQLi 从存储过程中检索多个结果集。
以上是如何从 PHP/MySQLi 中的存储过程检索多个结果集?的详细内容。更多信息请关注PHP中文网其他相关文章!