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 中国語 Web サイトの他の関連記事を参照してください。