In der Webentwicklung ist die gemeinsame Tabellenabfrage ein häufiger Vorgang. In der PHP-Sprache können wir Abfragen implementieren, indem wir Verknüpfungen zwischen mehreren Tabellen verwenden. Bei komplexeren Abfragevorgängen, wenn die abzurufenden Daten relativ komplex sind, können wir normalerweise ein dreidimensionales Array zum Speichern der Daten verwenden. In diesem Artikel erfahren Sie, wie Sie mit PHP gemeinsame Tabellenabfragen durchführen und ein dreidimensionales Array erhalten.
1. Was ist eine gemeinsame Tabellenabfrage?
Die gemeinsame Tabellenabfrage bezieht sich auf die gleichzeitige Verwendung mehrerer Tabellen in der Abfrage. Wenn einer Tabelle bestimmte Feldinformationen fehlen oder einige Informationen aus mehreren Tabellen abgerufen werden müssen, müssen wir eine gemeinsame Tabellenabfrage verwenden.
Bei der Durchführung einer gemeinsamen Tabellenabfrage müssen wir das Schlüsselwort JOIN verwenden, um mehrere Tabellen miteinander zu verbinden. Zu den Verbindungsschlüsselwörtern gehören LEFT JOIN, RIGHT JOIN, INNER JOIN, FULL OUTER JOIN usw. Wählen Sie entsprechend Ihren Anforderungen. Normalerweise kann die Verwendung von INNER JOIN Ihre Anforderungen erfüllen.
2. Wie verwende ich PHP, um eine gemeinsame Tabellenabfrage durchzuführen?
In PHP können wir PDO (PHP Data Objects) für Datenbankoperationen verwenden. Das Folgende ist ein einfaches Beispiel, in dem wir das Schlüsselwort INNER JOIN verwenden, um eine gemeinsame Abfrage für zwei Tabellen durchzuführen.
$servername = "localhost";
$username = "username";
$password = "password";
$ dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);#🎜🎜 # $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID";
print $row['OrderID'] . "\t"; print $row['CustomerName'] . "\t"; print $row['OrderDate'] . "\n";
echo "Error: " $e->getMessage();
}
$conn = null;
?># 🎜🎜#
Im obigen Code stellen wir zunächst eine Verbindung zur Datenbank her. Als nächstes haben wir das Schlüsselwort INNER JOIN verwendet, um eine gemeinsame Abfrage für die Tabelle „Orders“ und die Tabelle „Customers“ durchzuführen, und eine foreach-Schleife verwendet, um die Abfrageergebnisse zu durchlaufen.
$password = "password";
$ dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);#🎜🎜 # $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID";
$result = $conn->query($sql)->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC);# 🎜🎜#
$output = array();
foreach ($result as $key=>$val) {
$output[] = array("OrderID"=>$key, "OrderDetail"=>$val);
}
print_r($output);
} Catch(PDOException $e) {
}
$conn = null ;?>
Im obigen Code verwenden wir die beiden Konstanten PDO::FETCH_GROUP und PDO::FETCH_ASSOC, um das gruppierte assoziative Array zu erhalten. Als nächstes konvertieren wir das Ergebnis über eine Schleife in ein dreidimensionales Array und verwenden schließlich die Funktion print_r für die Array-Ausgabe.
4. Zusammenfassung
Das obige ist der detaillierte Inhalt vonSo verknüpfen Sie eine Tabellenabfrage in PHP, um ein dreidimensionales Array zu erhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!