MySQL を使用した PHP での複数のクエリの実行
この質問では、単一の PHP スクリプトで複数の MySQL クエリを実行し、結合されたクエリを取得するという課題について説明します。
ユーザーが、で区切られた複数のクエリを含むスクリプトを提供しました。
php.net の解決策では、mysqli_multi_query() を利用することを提案しています。これにより、単一の関数呼び出し内で連結されたクエリを実行できます。以下に例を示します。
if (mysqli_multi_query($link, $query)) { do { if ($result = mysqli_store_result($link)) { while ($row = mysqli_fetch_array($result)) { // Process and print the results } mysqli_free_result($result); } } while (mysqli_next_result($link)); }
このスクリプトでは、mysqli_multi_query() 関数を使用して、連結された SQL ステートメントを実行します。次に、mysqli_store_result() 関数を使用して、実行されたクエリから結果セットを取得します。 mysqli_fetch_array() 関数は、結果セットを反復処理し、データを行ごとに取得するために使用されます。
単一の呼び出しで複数のクエリを実行する代わりに、ユーザーはクエリを個別に実行して結果を取得することも提案しました。 mysqli_query() を使用して個別にmysqli_fetch_array().
$query1 = "Create temporary table A select c1 from t1"; $result1 = mysqli_query($link, $query1) or die(mysqli_error()); $query2 = "select c1 from A"; $result2 = mysqli_query($link, $query2) or die(mysqli_error()); while($row = mysqli_fetch_array($result2)) { // Process and print the results }
これらのメソッドのいずれかを利用することで、開発者は PHP スクリプト内で複数の MySQL クエリを実行し、結合された結果を取得してさらなる処理を行うことができます。
以上が単一の PHP スクリプトで複数の MySQL クエリを効率的に実行して結果を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。