Heim  >  Artikel  >  Backend-Entwicklung  >  So fragen Sie zwei Datenbanken mit PHP ab

So fragen Sie zwei Datenbanken mit PHP ab

PHPz
PHPzOriginal
2023-03-31 10:26:471245Durchsuche

PHP ist eine Open-Source-Skriptsprache, die hauptsächlich serverseitig und häufig für die Webentwicklung verwendet wird. Es zeichnet sich durch einfache Erlernbarkeit, Benutzerfreundlichkeit und hohe Entwicklungseffizienz aus und wird häufig in der Website-Entwicklung eingesetzt. In der tatsächlichen Entwicklung kann es vorkommen, dass Sie mehrere Datenbanken abfragen müssen. In diesem Artikel wird erläutert, wie Sie mit PHP zwei Datenbanken abfragen.

1. Verbindung zur Datenbank herstellen

In PHP werden für die Verbindung zur Datenbank normalerweise die Erweiterungen mysqli und PDO verwendet. In diesem Artikel wird die MySQLi-Erweiterung zur Demonstration verwendet.

Erstellen Sie zunächst zwei Datenbanken mit den Namen db1 bzw. db2 und erstellen Sie darin jeweils eine Schülertabelle und eine Lehrertabelle. Beide Tabellen enthalten Felder wie ID, Name, Alter usw. Verbinden Sie dann die beiden Datenbanken im PHP-Code und fragen Sie die Daten der beiden Tabellen ab. Der Code lautet wie folgt:

//Verbinden Sie die db1-Datenbank
$mysqli1 = new mysqli("localhost", "root ", " Password", "db1");

//Mit der DB2-Datenbank verbinden
$mysqli2 = new mysqli("localhost", "root", "Password", "db2");

//Fragen Sie die ab student-Tabelle in der db1-Datenbank
$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/>";

}

// Fragen Sie die Lehrertabelle in der DB2-Datenbank ab
$sql2 = "SELECT * FROM teacher";
$result2 = $mysqli2->query($sql2);
while ($row2 = $result2-> ;fetch_assoc()) {

//输出db2数据库中的teacher表的数据
echo "db2中teacher表的数据:" . $row2['id'] . " " . $row2['name'] . " " .$row2['age'].  "<br/>";

}
?>

Versuchen Sie im obigen Code zunächst mit mysqli, eine Verbindung zu den beiden Datenbanken db1 und db2 herzustellen, fragen Sie dann die Daten jeweils einer Tabelle ab und geben Sie sie auf der aus Seite. Eine while-Schleife dient der zeilenweisen Ausgabe von Daten.

2. Verwenden Sie dieselbe Verbindung, um zwei Datenbanken abzufragen.

Nachdem Sie eine Verbindung zu einer Datenbank hergestellt haben, können Sie das Verbindungsobjekt verwenden, um mehrere Datenbanken abzufragen. Fügen Sie einfach den Namen der Datenbank vor den Tabellennamen anderer Datenbanken hinzu. Der Beispielcode lautet wie folgt:

//Mit db1-Datenbank verbinden
$mysqli = new mysqli("localhost", "root", "password", "db1");

//Query the student-Tabelle in db1
$sql1 = "SELECT * FROM student";
$result1 = $mysqli->query($sql1);
while ($row1 = $result1->fetch_assoc()) {

//输出db1中的student表的数据
echo "db1中student表的数据:" . $row1['id'] . " " . $row1['name'] . " " .$row1['age']. "<br/>";

}

// Fragen Sie die Lehrertabelle in db2 ab
$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/>";

}
?>

Im obigen Code wird nur eine MySQL-Verbindung verwendet, es können jedoch mehrere Datenbanken abgefragt werden. Dies kann erreicht werden, indem „.“ verwendet wird, um den Bibliotheksnamen und den Tabellennamen zu verbinden.

3. Zusammenfassung

Dieser Artikel stellt die Verwendung von PHP zum Abfragen zweier Datenbanken vor und stellt zwei Methoden bereit. Die erste Methode besteht darin, die MySQLi-Erweiterung zu verwenden, um mehrere Verbindungen zum Abfragen herzustellen, und die zweite Methode besteht darin, dasselbe Verbindungsobjekt zum Abfragen mehrerer Datenbanken zu verwenden. Wählen Sie in der tatsächlichen Entwicklung die geeignete Methode entsprechend den spezifischen Anforderungen aus.

Das obige ist der detaillierte Inhalt vonSo fragen Sie zwei Datenbanken mit PHP ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn