mysqli_stmt::next_result
(mysqli_stmt_next_result)複数のクエリの次の結果を読んでください
関数名:mysqli_stmt :: next_result()
適用バージョン:PHP 5> = 5.3.0、PHP 7
関数の説明:mysqli_stmt :: next_result()は、ストアドプロシージャを実行するときに結果のポインターを次の結果に移動するために使用されます。
構文:bool mysqli_stmt :: next_result()
パラメーター説明:この関数にはパラメーターがありません。
返品値:次の結果セットに正常に移動した場合、trueを返します。結果セットが利用できない場合、Falseが返されます。
サンプルコード:
<?php // 创建数据库连接$mysqli = new mysqli("localhost", "username", "password", "database"); // 检查连接是否成功if ($mysqli->connect_errno) { echo "连接数据库失败: " . $mysqli->connect_error; exit(); } // 准备执行存储过程$stmt = $mysqli->prepare("CALL your_stored_procedure()"); // 执行存储过程if ($stmt->execute()) { // 检查是否有结果集if ($stmt->store_result()) { // 处理第一个结果集// ... // 检查是否还有更多的结果集while ($stmt->next_result()) { // 处理下一个结果集// ... } } else { echo "没有结果集可用"; } } else { echo "执行存储过程失败: " . $stmt->error; } // 关闭语句和数据库连接$stmt->close(); $mysqli->close(); ?>
上記の例では、最初にデータベース接続を作成し、次にストアドプロシージャを実行する準備をします。ストアドプロシージャを実行した後、 store_result()
メソッドを使用して、結果セットが利用可能かどうかを確認します。結果セットがある場合、最初の結果セットが処理され、 next_result()
メソッドが使用されて、その後の結果セットをループで処理します。結果セットが利用できない場合、対応するエラーメッセージは出力です。最後に、ステートメントとデータベース接続を閉じました。