PHP は、主にサーバー側で使用されるオープンソースのスクリプト言語であり、Web 開発によく使用されます。学びやすく、使いやすく、開発効率が高いという利点があり、Webサイト開発で広く使用されています。実際の開発では、複数のデータベースに対してクエリを実行する場面が発生することがありますが、この記事では、PHP を使用して 2 つのデータベースに対してクエリを実行する方法を紹介します。
1. データベースへの接続
PHP では、通常、データベースへの接続に mysqli 拡張機能と PDO 拡張機能が使用されます。この記事では、デモのために mysqli 拡張機能を使用します。
まず、それぞれ db1 と db2 という名前の 2 つのデータベースを作成し、その中に学生テーブルと教師テーブルをそれぞれ作成します。両方のテーブルには、ID、名前、年齢などのフィールドがあります。次に、PHP コードで 2 つのデータベースを接続し、2 つのテーブルのデータをクエリします。コードは次のとおりです:
//db1 データベースを接続します
$mysqli1 = new mysqli(" localhost", "root", "password", "db1");
//db2 データベースに接続
$mysqli2 = new mysqli("localhost", "root", "password ", "db2 ");
//db1 データベースの Student テーブルをクエリします。
$sql1 = "SELECT * FROM Student";
$result1 = $mysqli1->query($ sql1);
while ($row1 = $result1->fetch_assoc()) {
//输出db1数据库中的student表的数据 echo "db1中student表的数据:" . $row1['id'] . " " . $row1['name'] . " " .$row1['age']. "<br/>";
}
//db2 データベースの教師テーブルをクエリします
$sql2 = "SELECT * FROM 教師 ";
$result2 = $mysqli2->query($sql2);
while ($row2 = $result2->fetch_assoc()) {
//输出db2数据库中的teacher表的数据 echo "db2中teacher表的数据:" . $row2['id'] . " " . $row2['name'] . " " .$row2['age']. "<br/>";
}
?> ;
上記のコードでは、まず mysqli を使用して 2 つのデータベース db1 と db2 への接続を試み、次にそれぞれ 1 つのテーブルのデータをクエリしてページに出力します。 while ループはデータを 1 行ずつ出力するために使用されます。
2. 同じ接続を使用して 2 つのデータベースをクエリします
1 つのデータベースに接続した後、接続オブジェクトを使用して複数のデータベースをクエリできます。テーブル名の前にデータベースの名前を追加するだけです。他のデータベースの場合も可能です。サンプル コードは次のとおりです。
//db1 データベースに接続
$mysqli = new mysqli("localhost", "root", "password", "db1" );
//db1
$sql1 = "SELECT * FROM Student";
$result1 = $mysqli->query($sql1);
while の Student テーブルをクエリします($row1 = $result1->fetch_assoc()) {
//输出db1中的student表的数据 echo "db1中student表的数据:" . $row1['id'] . " " . $row1['name'] . " " .$row1['age']. "<br/>";
}
//db2
$sql2 の教師テーブルをクエリする = "SELECT * FROM db2.Teacher" ;
$result2 = $mysqli->query($sql2);
while ($row2 = $result2->fetch_assoc()) {
//输出db2中的teacher表的数据 echo "db2中teacher表的数据:" . $row2['id'] . " " . $row2['name'] . " " .$row2['age']. "<br/>";
}
?>
上記のコードでは、mysqli 接続が 1 つだけ使用されていますが、複数のデータベースに対してクエリを実行できます。これは、「.」を使用してライブラリ名とテーブル名を接続することで実現できます。
3. 概要
この記事では、PHP を使用して 2 つのデータベースにクエリを実行する方法を紹介し、2 つの方法を提供します。 1 つ目の方法は、mysqli 拡張機能を使用してクエリ用の複数の接続を確立する方法で、2 つ目の方法は、同じ接続オブジェクトを使用して複数のデータベースをクエリする方法です。実際の開発では、ニーズに応じて適切な方法を選択してください。
以上がPHP を使用して 2 つのデータベースにクエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。