如何从 PHP/MySQLi 中的存储过程检索多个结果集?

Susan Sarandon
发布: 2024-10-31 18:05:30
原创
968 人浏览过

How to retrieve multiple result sets from stored procedures in PHP/MySQLi?

在 PHP/MySQLi 中使用存储过程检索多个结果集

处理返回多个结果集的存储过程时,前进到后续结果在 MySQLi 中可能是一个挑战。

问题:

您有一个包含多个结果的存储过程,并且想要使用 PHP/MySQLi 检索第二个结果集。然而,使用 mysqli_next_result() 似乎并不能有效地工作。

解决方案:

要从存储过程成功检索多个结果:

  1. 准备并执行存储过程:

    <code class="php">$stmt = mysqli_prepare($db, 'CALL multiples(?, ?)');
    mysqli_stmt_bind_param($stmt, 'ii', $param1, $param2);
    mysqli_stmt_execute($stmt);</code>
    登录后复制
  2. 获取第一个结果集:

    <code class="php">$result1 = mysqli_stmt_get_result($stmt);
    while ($row = $result1->fetch_assoc()) {
     // Process first result set
    }</code>
    登录后复制
  3. 前进到下一个结果集:

    <code class="php">mysqli_stmt_next_result($stmt);</code>
    登录后复制
  4. 获取第二个结果集:

    <code class="php">$result2 = mysqli_stmt_get_result($stmt);
    while ($row = $result2->fetch_assoc()) {
     // Process second result set
    }</code>
    登录后复制
  5. 关闭语句:

    <code class="php">mysqli_stmt_close($stmt);</code>
    登录后复制

附加说明:

  • 确保在进入下一个结果集之前阅读第一个结果集。
  • 在 MySQLi 中使用面向对象的风格可以提供更具吸引力的语法。

按照以下步骤,您可以成功使用 PHP/MySQLi 从存储过程中检索多个结果集。

以上是如何从 PHP/MySQLi 中的存储过程检索多个结果集?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!