PHP/MySQLi のストアド プロシージャを使用した複数の結果セットの取得
複数の結果セットを返すストアド プロシージャを処理する場合、後続のMySQLi では結果が難しい場合があります。
問題:
複数の結果を持つストアド プロシージャがあり、PHP/MySQLi を使用して 2 番目の結果セットを取得したいと考えています。 。ただし、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>
2 番目の結果セットをフェッチします:
<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 中国語 Web サイトの他の関連記事を参照してください。