ホームページ > バックエンド開発 > PHPチュートリアル > PHP で複数の MySQL クエリを個別に実行するにはどうすればよいですか?

PHP で複数の MySQL クエリを個別に実行するにはどうすればよいですか?

DDD
リリース: 2024-12-03 06:10:10
オリジナル
169 人が閲覧しました

How Can I Execute Multiple MySQL Queries Independently in PHP?

PHP を使用して複数の MySQL クエリを 1 つとして実行する

問題:

2 つの別々の MySQL クエリを実行して処理する必要がある結果は PHP で独立して表示されます。クエリは次のとおりです:

SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;
SELECT FOUND_ROWS();
ログイン後にコピー

答え:

PHP の標準の mysql_ 拡張機能を使用すると、複数のクエリを 1 つのトランザクションとして実行することはできません。ただし、次の手順に従うことで、望ましい結果を得ることができます:

  1. 最初のクエリを実行します:
$query1 = "SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;";
$result1 = mysql_query($query1);
ログイン後にコピー
  1. 2番目を実行クエリ:
$query2 = "SELECT FOUND_ROWS();";
$result2 = mysql_query($query2);
ログイン後にコピー
  1. 最初のクエリの結果を取得します:
$rows1 = mysql_fetch_all($result1, MYSQL_ASSOC);
ログイン後にコピー
  1. 2 番目の結果を取得するquery:
$totalRows = mysql_fetch_row($result2)[0];
ログイン後にコピー

これらの手順に従うことで、両方のクエリを独立して実行し、その結果を個別に処理できます。このアプローチは、単一のトランザクションとして実行するほど効率的ではありませんが、mysql_ 拡張機能を使用して目的の結果を達成する唯一の方法であることに注意してください。

代替ソリューション (非推奨):

Update: 以前は、フラグ付きの mysql_connect() 関数。ただし、このメソッドは非推奨であるため、使用しないでください。

最新のソリューション:

最新の PHP アプリケーションの場合、PDO (PHP Data) を使用することをお勧めします。 Objects) データベース対話用の拡張機能。 PDO は、SQL クエリを実行し、その結果を取得するための、よりオブジェクト指向で一貫性のある方法を提供します。 PDO を使用すると、次のように 2 つのクエリを実行できます:

$pdo = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password');
$stmt1 = $pdo->prepare($query1);
$stmt2 = $pdo->prepare($query2);

$stmt1->execute();
$rows1 = $stmt1->fetchAll(PDO::FETCH_ASSOC);

$stmt2->execute();
$totalRows = $stmt2->fetchColumn();
ログイン後にコピー

このソリューションは、古い mysql_ 拡張機能よりも効率的で使いやすいです。

以上がPHP で複数の MySQL クエリを個別に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート