Inhaltsverzeichnis
1. Bestimmen Sie die für die Abfrage erforderlichen Daten
2. 连接两个数据库
3. 执行联合查询操作
4. 调用查询函数
Heim Backend-Entwicklung PHP-Problem Einführung in die Durchführung einer gemeinsamen Tabellenabfrage zweier verschiedener Serverdatenbanken in PHP

Einführung in die Durchführung einer gemeinsamen Tabellenabfrage zweier verschiedener Serverdatenbanken in PHP

Apr 06, 2023 am 09:14 AM

Für Entwickler, die PHP verwenden, besteht ein häufiges Szenario darin, dass sie gemeinsam Daten aus den Datenbanken zweier verschiedener Server abfragen müssen. Dieses Szenario kann auf geschäftliche Anforderungen zurückzuführen sein oder darauf, dass die Daten auf verschiedene Server verteilt sind. In diesem Artikel wird erläutert, wie dieser Datenföderations-Abfragevorgang in PHP abgeschlossen wird.

1. Bestimmen Sie die für die Abfrage erforderlichen Daten

Bevor wir mit dem Schreiben von Code beginnen, müssen wir die Daten bestimmen, die wir abfragen möchten. Angenommen, wir haben zwei Datenbankdienste mit den Namen A und B. Wir müssen gemeinsam Kundeninformationen aus diesen beiden Datenbanken abfragen, einschließlich Kunden-ID, Name, Alter und Geschlecht. Beide Datenbanken A und B verfügen über Kundentabellen, die jeweils customers_a und customers_b sind. Diese Tabellen enthalten grundlegende Informationen über Kunden. customers_acustomers_b。这些表都包括客户的基本信息。

我们的查询目标是获取customers_acustomers_b中所有客户的信息,因此我们需要在两个表上执行JOIN操作。

2. 连接两个数据库

使用PHP连接两个数据库很容易。下面是连接A数据库的代码示例:

<?php
$host = &#39;localhost&#39;;
$username = &#39;db_user&#39;;
$password = &#39;db_password&#39;;
$dbname = &#39;database_a&#39;;

$db_a = new mysqli($host, $username, $password, $dbname);
if ($db_a->connect_error) {
    die('Connect Error (' . $db_a->connect_errno . ') '
            . $db_a->connect_error);
}
Nach dem Login kopieren

同样地,我们可以连接B数据库:

<?php
$host = &#39;localhost&#39;;
$username = &#39;db_user&#39;;
$password = &#39;db_password&#39;;
$dbname = &#39;database_b&#39;;

$db_b = new mysqli($host, $username, $password, $dbname);
if ($db_b->connect_error) {
    die('Connect Error (' . $db_b->connect_errno . ') '
            . $db_b->connect_error);
}
Nach dem Login kopieren

现在我们已经成功连接到了两个不同的数据库。

3. 执行联合查询操作

接下来,我们需要在两个数据库上执行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;
}
Nach dem Login kopieren

在这个函数中,我们使用了UNION操作,将customers_acustomers_b中的数据合并在一起。执行完查询之后,我们将结果集中的记录放到一个数组中,并返回该数组。

4. 调用查询函数

现在我们已经完成了所有的代码编写工作。我们可以在代码中调用get_customers

Unser Abfrageziel besteht darin, die Informationen aller Kunden in customers_a und customers_b zu erhalten, daher müssen wir JOIN-Operationen für die beiden Tabellen ausführen.

2. Zwei Datenbanken verbinden

Es ist einfach, zwei Datenbanken mit PHP zu verbinden. Hier ist ein Codebeispiel für die Verbindung mit Datenbank A:

<?php
$rows = get_customers($db_a, $db_b);
foreach ($rows as $row) {
    echo $row[&#39;id&#39;] . &#39; &#39; . $row[&#39;name&#39;] . &#39; &#39; . $row[&#39;age&#39;] . &#39; &#39; . $row[&#39;gender&#39;] . &#39;<br>';
}
Nach dem Login kopieren

Ähnlich können wir eine Verbindung mit Datenbank B herstellen:

<?php
$host_a = &#39;localhost&#39;;
$username_a = &#39;db_user&#39;;
$password_a = &#39;db_password&#39;;
$dbname_a = &#39;database_a&#39;;

$host_b = &#39;localhost&#39;;
$username_b = &#39;db_user&#39;;
$password_b = &#39;db_password&#39;;
$dbname_b = &#39;database_b&#39;;

$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();
?>
Nach dem Login kopieren
Jetzt haben wir erfolgreich eine Verbindung zu zwei verschiedenen Datenbanken hergestellt. 🎜🎜3. Führen Sie eine gemeinsame Abfrageoperation durch🎜🎜Als nächstes müssen wir eine JOIN-Operation für die beiden Datenbanken durchführen, um die benötigten Daten zu erhalten. Um die Lesbarkeit und Wartbarkeit des Codes sicherzustellen, kapseln wir die Abfrageoperation in eine Funktion. 🎜rrreee🎜In dieser Funktion verwenden wir die UNION-Operation, um die Daten in customers_a und customers_b zusammenzuführen. Nachdem wir die Abfrage ausgeführt haben, fügen wir die Datensätze in der Ergebnismenge in ein Array ein und geben das Array zurück. 🎜🎜4. Rufen Sie die Abfragefunktion auf🎜🎜Jetzt haben wir alle Codierungsarbeiten abgeschlossen. Wir können die Funktion get_customers im Code aufrufen, um die gemeinsam abgefragten Kundeninformationen aus den beiden Datenbanken A und B zu erhalten. 🎜rrreee🎜5. Vollständiges Codebeispiel🎜🎜Das Folgende ist ein vollständiges Codebeispiel:🎜rrreee🎜Zusammenfassung🎜🎜In PHP ist das Verbinden zweier verschiedener Datenbanken und das Durchführen von Union-Abfrageoperationen ein sehr häufiges Szenario. In diesem Artikel wird beschrieben, wie Sie zwei verschiedene Datenbankdienste in PHP verbinden und die UNION-Operation verwenden, um die gemeinsame Abfrageaufgabe abzuschließen. Wir hoffen, dass die Leser durch diesen Artikel besser verstehen, wie sie mehrere Datenbankdienste in PHP verwenden. 🎜

Das obige ist der detaillierte Inhalt vonEinführung in die Durchführung einer gemeinsamen Tabellenabfrage zweier verschiedener Serverdatenbanken in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8 JIT (Just-in-Time) -Kompilation: Wie es die Leistung verbessert. PHP 8 JIT (Just-in-Time) -Kompilation: Wie es die Leistung verbessert. Mar 25, 2025 am 10:37 AM

Die JIT -Kompilierung von PHP 8 verbessert die Leistung, indem häufig ausgeführte Code in den Maschinencode zusammengestellt wird, um Anwendungen mit schweren Berechnungen zugute und die Ausführungszeiten zu reduzieren.

PHP Secure-Datei-Uploads: Verhindern von Sicherheitslücken im Zusammenhang mit Datei. PHP Secure-Datei-Uploads: Verhindern von Sicherheitslücken im Zusammenhang mit Datei. Mar 26, 2025 pm 04:18 PM

In dem Artikel wird das Sicherung von PHP -Dateien -Uploads erläutert, um Schwachstellen wie die Code -Injektion zu verhindern. Es konzentriert sich auf die Dateitypvalidierung, den sicheren Speicher und die Fehlerbehandlung, um die Anwendungssicherheit zu verbessern.

OWASP Top 10 PHP: Beschreiben und mildern gemeinsame Schwachstellen. OWASP Top 10 PHP: Beschreiben und mildern gemeinsame Schwachstellen. Mar 26, 2025 pm 04:13 PM

In dem Artikel werden OWASP Top 10 Schwachstellen in PHP- und Minderungsstrategien erörtert. Zu den wichtigsten Problemen gehören die Injektion, die kaputte Authentifizierung und XSS mit empfohlenen Tools zur Überwachung und Sicherung von PHP -Anwendungen.

PHP -Authentifizierung & amp; Autorisierung: sichere Implementierung. PHP -Authentifizierung & amp; Autorisierung: sichere Implementierung. Mar 25, 2025 pm 03:06 PM

In dem Artikel wird die Implementierung einer robusten Authentifizierung und Autorisierung in PHP erörtert, um den nicht autorisierten Zugriff zu verhindern, Best Practices zu beschreiben und sicherheitsrelevante Tools zu empfehlen.

Was ist der Zweck von vorbereiteten Aussagen in PHP? Was ist der Zweck von vorbereiteten Aussagen in PHP? Mar 20, 2025 pm 04:47 PM

Vorbereitete Aussagen in PHP erhöhen die Sicherheit und Effizienz der Datenbank durch Verhinderung der SQL -Injektion und Verbesserung der Abfrageleistung durch Zusammenstellung und Wiederverwendung.

PHP -API -Rate Begrenzung: Implementierungsstrategien. PHP -API -Rate Begrenzung: Implementierungsstrategien. Mar 26, 2025 pm 04:16 PM

In dem Artikel werden Strategien zur Implementierung der API-Rate in PHP erörtert, einschließlich Algorithmen wie Token-Bucket und Leaky Bucket sowie Bibliotheken wie Symfony/Rate-Limiter. Es deckt auch die Überwachung, die dynamischen Einstellungsgeschwindigkeiten und die Hand ab

PHP -Verschlüsselung: Symmetrische und asymmetrische Verschlüsselung. PHP -Verschlüsselung: Symmetrische und asymmetrische Verschlüsselung. Mar 25, 2025 pm 03:12 PM

In dem Artikel wird die symmetrische und asymmetrische Verschlüsselung in PHP erörtert und ihre Eignung, Leistung und Sicherheitsunterschiede verglichen. Die symmetrische Verschlüsselung ist schneller und für Massendaten geeignet, während asymmetrisch für den sicheren Schlüsselaustausch verwendet wird.

Wie rufen Sie Daten mit PHP aus einer Datenbank ab? Wie rufen Sie Daten mit PHP aus einer Datenbank ab? Mar 20, 2025 pm 04:57 PM

In Artikel wird das Abrufen von Daten aus Datenbanken mithilfe von PHP, die Schritte, Sicherheitsmaßnahmen, Optimierungstechniken und gemeinsame Fehler bei Lösungen erfasst.

See all articles