Heim >Datenbank >MySQL-Tutorial >Wie greife ich mit PHP auf mehrdeutige Spaltennamen in SQL-Abfrageergebnissen zu?
Auflösen mehrdeutiger Spaltennamen in SQL-Abfragen
Beim Abrufen von Daten aus mehreren Tabellen, die gemeinsame Spaltennamen enthalten, kann es beim Zugriff auf Spaltenwerte im resultierenden assoziativen Array zu Mehrdeutigkeiten kommen. Um dieses Problem zu lösen, betrachten Sie das Beispiel der Verknüpfung der NEWS-Tabelle mit der USERS-Tabelle. Beide Tabellen enthalten eine „id“-Spalte.
SQL-Abfrage ausführen:
<code class="language-sql">SELECT * FROM news JOIN users ON news.user = user.id</code>
Wie kann ich mit PHP die News-ID und die Benutzer-ID (beide haben denselben Spaltennamen) aus einem assoziativen Array abrufen, das von einer Abfrage zurückgegeben wird?
Um Spaltennamen eindeutig zu machen, weisen Sie jeder Spalte in der SELECT-Klausel einen eindeutigen Alias zu:
<code class="language-sql">$query = 'SELECT news.id AS newsId, user.id AS userId, [OTHER FIELDS HERE] FROM news JOIN users ON news.user = user.id';</code>
Durch die Angabe von Aliasnamen für Spaltennamen können Sie auf bestimmte Werte zugreifen, indem Sie Folgendes verwenden:
$row['newsId']
News-ID abrufen$row['userId']
Benutzer-ID abrufenDas obige ist der detaillierte Inhalt vonWie greife ich mit PHP auf mehrdeutige Spaltennamen in SQL-Abfrageergebnissen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!