mysqli_stmt::more_results
(mysqli_stmt_more_results)複数のクエリがより多くのクエリの結果を持っているかどうかを確認します
関数名:mysqli_stmt :: more_results()
適用バージョン:PHP 5> = 5.3.0、PHP 7
使用法:mysqli_stmt :: more_results()関数は、クエリに使用できる結果セットが増えるかどうかを確認するために使用されます。
構文:bool mysqli_stmt :: more_results(void)
パラメーター:この関数にはパラメーターがありません。
返品値:より多くの結果セットが利用可能な場合はtrueを返します。
例:
<?php // 创建数据库连接$mysqli = new mysqli("localhost", "username", "password", "database"); // 检查连接是否成功if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: " . $mysqli->connect_error; exit(); } // 准备查询语句$query = "SELECT * FROM table1; SELECT * FROM table2;"; // 执行多结果集查询if ($mysqli->multi_query($query)) { do { // 获取当前结果集if ($result = $mysqli->store_result()) { // 处理当前结果集// 检查是否还有更多的结果集可用if ($mysqli->more_results()) { // 移动到下一个结果集$mysqli->next_result(); } else { // 没有更多结果集,退出循环break; } } } while ($mysqli->more_results()); } // 关闭数据库连接$mysqli->close(); ?>
上記の例では、最初にMySQLIオブジェクトを作成し、データベースに接続します。次に、複数のクエリステートメントを含む文字列を準備します。次に、Multi_Query()関数を使用して、Multi-Result Setクエリを実行します。ループでは、Store_Result()関数を使用して現在の結果セットを取得し、現在の結果セットを処理した後、More_Results()関数を使用して、より多くの結果セットが利用可能であるかどうかを確認します。その場合、next_result()関数を使用して、次の結果セットに移動します。結果セットがもうない場合、ループを終了します。最後に、データベース接続を閉じました。
More_Results()関数を使用する前に、現在の結果セットを取得するにはStore_Result()関数を呼び出す必要があることに注意してください。さらに、この関数は、マルチ表示セットクエリでのみ理にかなっています。