Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Fetch_all (), um die Ergebnisse der Multi-Table-Join-Abfrage zu erhalten

Verwenden Sie Fetch_all (), um die Ergebnisse der Multi-Table-Join-Abfrage zu erhalten

M66 2025-06-15

In PHP ist die Handhabung von Datenbankabfragen eine sehr häufige Aufgabe bei der täglichen Entwicklung. Wenn wir Daten aus mehreren Tabellen abrufen müssen, verwenden wir normalerweise eine Abfrage mit mehreren Tisch-Join (Join). Nach der Ausführung der Abfrage wird die Ermittlung der Abfrageergebnisse zum Schlüssel. In diesem Artikel wird vorgestellt, wie die Methode Fetch_all () verwendet wird, um die Ergebnisse der Multi-Table-Join-Abfrage zu erhalten und sie in Verbindung mit dem Beispielcode zu erklären.

1. Einführung in die Abfrage zur Verbindungsabfrage mit mehreren Tabellen

Multi-Table-Join-Abfrage kann Daten in mehreren Tabellen korrelieren und Ergebnisse basierend auf bestimmten Bedingungen zurückgeben. Zum Beispiel gibt es zwei Tabellenbenutzer und Bestellungen . Wir möchten alle Benutzer und ihre entsprechenden Auftragsinformationen abfragen und können Join verwenden.

 SELECT users.id, users.name, orders.order_id, orders.amount 
FROM users 
JOIN orders ON users.id = orders.user_id;

2. Verwenden Sie MySQLI in PHP, um eine Verbindungsabfrage mit mehreren Tabellen durchzuführen

PHP bietet verschiedene Möglichkeiten, die MySQL -Datenbank zu betreiben. Hier verwenden wir die MySQLI -Erweiterung und verwenden die Methode Fetch_all (), um alle Ergebnisse zu erhalten.

1. Stellen Sie eine Datenbankverbindung her

 <?php
$mysqli = new mysqli("m66.net", "username", "password", "database");

if ($mysqli->connect_error) {
    die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}
?>

2. führen

 <?php
$sql = "SELECT users.id, users.name, orders.order_id, orders.amount 
        FROM users 
        JOIN orders ON users.id = orders.user_id";

$result = $mysqli->query($sql);

if (!$result) {
    die("Abfrage fehlgeschlagen: " . $mysqli->error);
}
?>

3.. Verwenden Sie Fetch_all (), um das Ergebnis zu erhalten

Fetch_all () erhält alle Zeilen des Ergebniss gleichzeitig und gibt ein zweidimensionales Array zurück. Sein Standard -Rückgabetyp ist mySQLI_NUM , dh Indexarrays. Wir können auch MySQLi_assoc verwenden, um das assoziative Array zu erhalten.

 <?php
$data = $result->fetch_all(MYSQLI_ASSOC);

foreach ($data as $row) {
    echo "BenutzerID: " . $row['id'] . ",Name: " . $row['name'] . ",BefehlID: " . $row['order_id'] . ",Menge: " . $row['amount'] . "<br>";
}
?>

4. Schließen Sie die Verbindung

 <?php
$mysqli->close();
?>

3. Kompletter Beispielcode

 <?php
$mysqli = new mysqli("m66.net", "username", "password", "database");

if ($mysqli->connect_error) {
    die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}

$sql = "SELECT users.id, users.name, orders.order_id, orders.amount 
        FROM users 
        JOIN orders ON users.id = orders.user_id";

$result = $mysqli->query($sql);

if (!$result) {
    die("Abfrage fehlgeschlagen: " . $mysqli->error);
}

$data = $result->fetch_all(MYSQLI_ASSOC);

foreach ($data as $row) {
    echo "BenutzerID: " . $row['id'] . ",Name: " . $row['name'] . ",BefehlID: " . $row['order_id'] . ",Menge: " . $row['amount'] . "<br>";
}

$mysqli->close();
?>

4. Zusammenfassung

  • Multi-Table-Join-Abfrage ist ein effektiver Weg, um zugehörige Daten zu erhalten.

  • Verwenden Sie MySQLIs Query (), um die Abfrage auszuführen, und verwenden Sie Fetch_all () , um alle Ergebnisse gleichzeitig zu erhalten und die Datenverarbeitung zu vereinfachen.

  • Durch Einstellen des Parameters von fetch_all () auf mySQLi_assoc können Sie über den Feldnamen problemlos Daten zugreifen.

Ich hoffe, dieser Artikel kann Ihnen helfen , fetch_all () besser zu verstehen und zu verwenden, um die Ergebnisse von Multi-Table-Join-Abfrage zu erhalten.