Heim >Backend-Entwicklung >PHP-Tutorial >Wie gehe ich mit mehrdeutigen Spaltennamen in PHP um, wenn ich SQL-Tabellen verbinde?
Auflösen mehrdeutiger Spaltennamen in SQL-Join-Ergebnissen in PHP
Beim Abrufen von Ergebnissen aus Datenbanktabellen, die eine gemeinsame Spalte haben, können mehrdeutige Spaltennamen auftreten Namen. Stellen Sie sich beispielsweise das Szenario vor, in dem Ihre Datenbank über zwei Tabellen mit den Namen „NEWS“ und „USERS“ verfügt. Beide Tabellen haben eine „id“-Spalte.
Angenommen, Sie führen die folgende Abfrage aus, um diese Tabellen zu verbinden:
SELECT * FROM news JOIN users ON news.user = users.id
Wenn Sie die Ergebnisse in PHP abrufen, möchten Sie dies möglicherweise tun Speichern Sie sie in einem assoziativen Array und greifen Sie mithilfe der Syntax $row['column-name'] auf Spaltenwerte zu. Die Verwendung desselben Spaltennamens für beide Tabellen würde jedoch zu Mehrdeutigkeiten führen.
Um dieses Problem zu beheben, können Sie Ihren ausgewählten Spalten mithilfe des Schlüsselworts AS Aliase zuweisen. Dadurch können Sie eindeutige Namen angeben, die zur Unterscheidung zwischen Spalten mit demselben ursprünglichen Namen verwendet werden können.
Sie könnten Ihre Abfrage beispielsweise wie folgt ändern:
SELECT news.id AS newsId, users.id AS userId, [OTHER FIELDS HERE] FROM news JOIN users ON news.user = users.id
In dieser Abfrage haben wir der Spalte „id“ aus der Tabelle „NEWS“ den Alias „newsId“ und der Spalte „id“ aus der Tabelle „USERS“ den Alias „userId“ zugewiesen. Wenn Sie nun die Ergebnisse in PHP abrufen, können Sie mit $row['newsId'] auf die News-ID und mit $row['userId'] auf die Benutzer-ID zugreifen.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit mehrdeutigen Spaltennamen in PHP um, wenn ich SQL-Tabellen verbinde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!