Heim >Backend-Entwicklung >PHP-Problem >So verknüpfen Sie eine Tabellenabfrage in PHP, um ein dreidimensionales Array zu erhalten

So verknüpfen Sie eine Tabellenabfrage in PHP, um ein dreidimensionales Array zu erhalten

PHPz
PHPzOriginal
2023-04-27 09:03:13487Durchsuche

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";

foreach ($conn->query($sql) as $row) {

print $row['OrderID'] . "\t";
print $row['CustomerName'] . "\t";
print $row['OrderDate'] . "\n";
}#🎜🎜 #} Catch(PDOException $e) {

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.

Wie Sie sehen können, haben wir die SELECT-Anweisung verwendet, um die Felder anzugeben, die abgefragt werden müssen, und außerdem das Schlüsselwort INNER JOIN verwendet, um die beiden Tabellen zu verbinden. In der nächsten Schleife verwenden wir print, um die Abfrageergebnisse auszugeben.

3. Wie erhalte ich ein dreidimensionales Array?

Wenn die Daten, die wir erhalten müssen, relativ komplex sind, müssen wir nach Abschluss der gemeinsamen Tabellenabfrage die Abfrageergebnisse zur Speicherung in ein dreidimensionales Array konvertieren. Nachfolgend finden Sie einen Beispielcode, den wir auf dieser Grundlage geändert haben.

$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";

$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) {

echo "Error: " .

}

$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

In der Webentwicklung ist die gemeinsame Tabellenabfrage eine sehr häufige Operation. Durch die Verwendung des Schlüsselworts INNER JOIN können wir problemlos mehrere Tabellen für Abfragen verknüpfen. Wenn die Daten komplex sind, können wir ein dreidimensionales Array verwenden, um die Abfrageergebnisse für die spätere Verarbeitung zu speichern. Wenn Sie PDO für Datenbankoperationen verwenden, müssen Sie auf Sicherheit achten und Ausnahmen behandeln.

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!

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