PHP で 2 つの異なるサーバー データベースのテーブル結合クエリを実行する方法を紹介します。
PHP を使用する開発者にとっての一般的なシナリオは、2 つの異なるサーバーのデータベースからデータを共同でクエリする必要があることです。このシナリオは、ビジネス ニーズ、またはデータが異なるサーバーに分散されていることが原因である可能性があります。この記事では、PHP でこのデータ フェデレーション クエリ操作を完了する方法を紹介します。
1. クエリに必要なデータを決定する
コードを書き始める前に、クエリするデータを決定する必要があります。 A と B という名前の 2 つのデータベース サービスがあるとします。これら 2 つのデータベースから、顧客 ID、名前、年齢、性別などの顧客情報を共同でクエリする必要があります。データベース A と B には両方とも顧客テーブルがあり、それぞれ customers_a
と customers_b
です。これらのテーブルには、顧客に関する基本情報が含まれています。
私たちのクエリの目標は、customers_a
と customers_b
のすべての顧客の情報を取得することなので、2 つのテーブルに対して JOIN 操作を実行する必要があります。
2. 2 つのデータベースの接続
PHP を使用すると、2 つのデータベースを簡単に接続できます。以下は、データベース A に接続するコード例です:
<?php $host = 'localhost'; $username = 'db_user'; $password = 'db_password'; $dbname = 'database_a'; $db_a = new mysqli($host, $username, $password, $dbname); if ($db_a->connect_error) { die('Connect Error (' . $db_a->connect_errno . ') ' . $db_a->connect_error); }
同様に、データベース B に接続できます:
<?php $host = 'localhost'; $username = 'db_user'; $password = 'db_password'; $dbname = 'database_b'; $db_b = new mysqli($host, $username, $password, $dbname); if ($db_b->connect_error) { die('Connect Error (' . $db_b->connect_errno . ') ' . $db_b->connect_error); }
これで、2 つの異なるデータベースに正常に接続できました。
3. 結合クエリ操作を実行する
次に、2 つのデータベースに対して JOIN 操作を実行して、必要なデータを取得する必要があります。コードの読みやすさと保守性を確保するために、クエリ操作を関数にカプセル化します。
<?php function get_customers($db_a, $db_b) { $sql = "SELECT id, name, age, gender FROM customers_a UNION SELECT id, name, age, gender FROM customers_b"; $result = $db_a->query($sql); if (!$result) { die('Query Error: ' . $db_a->error); } $rows = array(); while ($row = $result->fetch_assoc()) { $rows[] = $row; } $result->free(); return $rows; }
この関数では、UNION 演算を使用して、customers_a
と customers_b
のデータをマージします。クエリを実行した後、結果セット内のレコードを配列に入れて、配列を返します。
4. クエリ関数を呼び出す
これで、コードの作成作業はすべて完了しました。コード内で get_customers
関数を呼び出して、2 つのデータベース A と B から共同でクエリされた顧客情報を取得できます。
<?php $rows = get_customers($db_a, $db_b); foreach ($rows as $row) { echo $row['id'] . ' ' . $row['name'] . ' ' . $row['age'] . ' ' . $row['gender'] . '<br>'; }
5. 完全なコード例
完全なコード例は次のとおりです:
<?php $host_a = 'localhost'; $username_a = 'db_user'; $password_a = 'db_password'; $dbname_a = 'database_a'; $host_b = 'localhost'; $username_b = 'db_user'; $password_b = 'db_password'; $dbname_b = 'database_b'; $db_a = new mysqli($host_a, $username_a, $password_a, $dbname_a); if ($db_a->connect_error) { die('Connect Error (' . $db_a->connect_errno . ') ' . $db_a->connect_error); } $db_b = new mysqli($host_b, $username_b, $password_b, $dbname_b); if ($db_b->connect_error) { die('Connect Error (' . $db_b->connect_errno . ') ' . $db_b->connect_error); } function get_customers($db_a, $db_b) { $sql = "SELECT id, name, age, gender FROM customers_a UNION SELECT id, name, age, gender FROM customers_b"; $result = $db_a->query($sql); if (!$result) { die('Query Error: ' . $db_a->error); } $rows = array(); while ($row = $result->fetch_assoc()) { $rows[] = $row; } $result->free(); return $rows; } $rows = get_customers($db_a, $db_b); foreach ($rows as $row) { echo $row['id'] . ' ' . $row['name'] . ' ' . $row['age'] . ' ' . $row['gender'] . '<br>'; } $db_a->close(); $db_b->close(); ?>
概要
PHP で 2 つの異なるデータベースを接続し、結合を実行します。クエリ操作は非常に一般的なシナリオです。この記事では、PHP で 2 つの異なるデータベース サービスを接続し、UNION 操作を使用して共同クエリ タスクを完了する方法を紹介します。この記事を通じて、読者が PHP で複数のデータベース サービスを使用する方法をより深く理解できることを願っています。
以上がPHP で 2 つの異なるサーバー データベースのテーブル結合クエリを実行する方法を紹介します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8のJITコンピレーションは、頻繁に実行されるコードをマシンコードにコンパイルし、重い計算でアプリケーションに利益をもたらし、実行時間を短縮することにより、パフォーマンスを向上させます。

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPの対称的および非対称暗号化について説明し、適合性、パフォーマンス、セキュリティの違いを比較しています。対称暗号化はより速く、バルクデータに適していますが、非対称は安全なキー交換に使用されます。

この記事では、不正アクセスを防ぎ、ベストプラクティスの詳細、セキュリティ強化ツールの推奨を防ぐために、PHPで堅牢な認証と承認の実装について説明します。

記事では、PHPを使用してデータベースからデータを取得し、手順、セキュリティ対策、最適化手法、およびソリューションを使用した一般的なエラーをカバーしています。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、CSRFトークン、同じサイトCookie、適切なセッション管理など、PHPでのCSRF攻撃を防ぐための戦略について説明します。
