English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_next_result()関数はmysqli_multi_query()に対して次の結果セットを準備します。
mysqli_multi_query()関数が実行された後、次の結果セットを読み取るために準備し、次にmysqli_store_result()またはmysqli_use_result()関数を使用して次の結果セットを読み取ることができます。
mysqli_next_result($con)
番号 | パラメータおよび説明 |
---|---|
1 | con(必須) これはMySQL Serverとの接続を表すオブジェクトです。 |
もっと多くの結果セットがある場合、mysqli_next_result()関数はtrueを返します。結果セットがなく、または次のクエリにエラーがある場合、falseを返します。
この関数は最初にPHPバージョン5に導入されており、すべてのより高いバージョンで使用できます。
以下の例では、mysqli_next_result()関数の使い方(プロセス指向スタイル)-
<?php //接続を確立 $con = mysqli_connect("localhost", "root", "password", "test"); //複数のクエリを実行 $query = "SELECT * FROM players;SELECT * FROM emp;SELECT * FROM tutorials"; $res = mysqli_multi_query($con, $query); $count = 0; if ($res) { do { $count = $count+1; mysqli_use_result($con); } while (mysqli_next_result($con)); } print("結果セット数: ".$count); mysqli_close($con); ?>
出力結果
結果セット数: 3
オブジェクト指向のスタイルでは、この関数の文法は以下の通りです}}$con-> next_result();。以下は、オブジェクト指向スタイルの関数の例です;
<?php $con = new mysqli("localhost", "root", "password", "test"); //マルチクエリ $res = $con->multi_query("SELECT * FROM players;SELECT * FROM emp;SELECT * FROM tutorials"); $count = 0; if ($res) { do { $count = $count+1; $con-> use_result(); } while ($con->next_result()); } print("結果セット数: ".$count); //接続を閉じる $res = $con -> close(); ?>
出力結果
結果セット数: 3
以下の例は、複数のクエリのすべての結果セットのレコードを検索しています-
//接続を確立 $con = mysqli_connect("localhost", "root", "password", "test"); //複数のクエリを実行 $query = "SELECT * FROM players;SELECT * FROM emp"; $res = mysqli_multi_query($con, $query); if ($res) { do { if ($result = mysqli_use_result($con)) { while ($row = mysqli_fetch_row($result)) { print("名前: ".$row[0]."\n"); print("年齢: ".$row[1]."\n"); } mysqli_free_result($result); } if (mysqli_more_results($con)) { print("\n"); } } while (mysqli_next_result($con)); } mysqli_close($con);
出力結果
名前: Dhavan 年齢: 33 名前: Rohit 年齢: 28 名前: Kohli 年齢: 25 名前: Raju 年齢: 25 名前: Rahman 年齢: 30 名前: Ramani 年齢: 22