PHP+MYQSL - JOIN - Felder mitgleichen Namen machen probleme
jo
- datenbank
hallo,
Ich verbinde 2 Tabellen mittels JOIN befehl:
$query="SELECT * FROM an
JOIN model m ON an.model_id=m.id";
in der Tabelle "an" und "model" gibt es jeweis die Felder mit dem Namen "id"
das macht mir bei der Ausgabe in PHP probleme
$result=mysql_query($query);
while($data=mysql_fetch_array($result)){
print $data['id'].'<br />';
}
es scheint das die id werte von der 2 Tabelle geholt werden und die bei "an" überschreibt
Wie kann ich das umgehen ?
Hallo
$query="SELECT * FROM an
JOIN model m ON an.model_id=m.id";
> in der Tabelle "an" und "model" gibt es jeweis die Felder mit dem Namen "id"
> das macht mir bei der Ausgabe in PHP probleme
> es scheint das die id werte von der 2 Tabelle geholt werden und die bei "an" überschreibt
>
> Wie kann ich das umgehen ?
verzichte auf "SELECT \* ", verwende statt dessen explizite Spaltenlisten, die
auch nur die Spalten enthalten, die Du benötigst. Bei Namensgleichheit
vergibst Du einfach einen Aliasnamen für die Spalte:
~~~sql
SELECT
an.id,
an.x,
m.y,
m.id AS mid, -- mid ist ein Aliasname für die Spalte id aus Tabelle m
m.z
FROM an
INNER JOIN model m -- so wie m ein Aliasname für die Tabelle model ist
ON an.model_id = m_id
~~~.
Freundliche Grüße
Vinzenz