首页 >数据库 >mysql教程 >如何从 PHP 存储过程中检索输出参数值?

如何从 PHP 存储过程中检索输出参数值?

Barbara Streisand
Barbara Streisand原创
2024-10-29 07:41:30435浏览

How Do You Retrieve Output Parameter Values from PHP Stored Procedures?

检索 PHP 存储过程中的输出参数值

在 PHP 和 MySQL 存储过程领域,有时您可能需要访问输出参数的值,称为“out”参数。虽然文档可能看起来很少,但有一些方法可以使用 PHP MySQLi 扩展来实现此目的。

假设您有一个定义为 myproc(IN i int, OUT j int) 的存储过程,其中 i 参数是输入j是输出参数。要在 PHP 中访问输出值,可以使用以下步骤:

<code class="php">// Establish a connection to the database
$mysqli = new mysqli("HOST", "USR", "PWD", "DBNAME");

// Input parameter value
$ivalue = 1;

// Execute the stored procedure and capture the result
$res = $mysqli->multi_query("CALL myproc($ivalue, @x);SELECT @x");

// Check if the execution was successful
if ($res) {
    $results = 0;

    // Iterate through the results
    do {
        // Store the result
        if ($result = $mysqli->store_result()) {
            printf("<b>Result #%u</b>:<br/>", ++$results);

            // Fetch and display the rows
            while ($row = $result->fetch_row()) {
                foreach ($row as $cell) echo $cell, " ";
            }
            $result->close();
        }
    } while ($mysqli->next_result());
}

// Close the connection
$mysqli->close();</code>

此脚本利用 MySQLi 的 multi_query() 和 store_result() 函数来执行存储过程并检索输入和输出值。通过在 SELECT 查询中包含 @x 来访问输出值,其中 x 是存储过程中输出参数的名称。

以上是如何从 PHP 存储过程中检索输出参数值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn