jo: PHP+MYQSL - JOIN - Felder mitgleichen Namen machen probleme

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 ?

  1. 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