frodeaa Skrevet 27. juli 2006 Del Skrevet 27. juli 2006 (endret) $result = mysql_query("SELECT * FROM main LEFT JOIN tabell_1 USING (user_id) LEFT JOIN tabell_2 USING (user_id) LEFT JOIN tabell_3 USING (user_id) WHERE username = '$user_name'"); if(!$result) { echo 'Error: ' . mysql_error(); exit; } $fetch_info = mysql_fetch_assoc($result); Har sittet og kodet en del paa laptop'n min i det siste, og har XAMPP installert med MySQL 5.0. Har foelgende kode i et script og det virker lokalt, men da jeg lastet det opp til min webserver som kjoerer MySQL 4.1 faar jeg foelgende: "Error: Column 'username' in where clause is ambiguous". Jeg har tre tabeller med forskjellig info, og jeg vil ta ut informasjon tilhoerende $user_name fra alle tre tabeller. Dog vil jeg gjoere det i bare en query istedenfor tre, derav LEFT JOIN. Litt fersk paa MySQL og PHP saa er ikke sikker paa om dette er rette maaten og gjoere det paa i 5.0, og det virker absolutt ikke paa 4.1. Noen som har et tips om hvordan dette kan fikses saa det virker paa baade 4.1 og 5.0? EDIT: Byttet ut kode med foelgende: $result = mysql_query("SELECT * FROM tabell_1 LEFT JOIN tabell_2 ON tabell_1.user_id=tabell_2.user_id LEFT JOIN tabell_3 ON tabell_2.user_id=tabell_3.user_id"); if(!$result) { echo 'Error: ' . mysql_error(); exit; } $fetch_info = mysql_fetch_assoc($result); Fungerer baade paa 4.1 og 5.0. Endret 28. juli 2006 av frodeaa Lenke til kommentar
Chandler Skrevet 27. juli 2006 Del Skrevet 27. juli 2006 SELECT * FROM main LEFT JOIN tabell_1 USING (user_id) LEFT JOIN tabell_2 USING (user_id) LEFT JOIN tabell_3 USING (user_id) WHERE username = '$user_name' "Error: Column 'username' in where clause is ambiguous". Dette er vel strengt tatt et SQL-problem og ikke PHP... anywho... Den feilmeldinga betyr at navnet 'username' er brukt som navn på flere rader i flere tabeller. TABLE1 ID username password TABLE2 ID post forum username så hvis du for dette eksemplet skriver SELECT * FROM TABLE1, TABLE2 WHERE username = 'foo' vil du få nøyaktig den feilmeldinga du har fått. Løsningen er å spesifisere hvilken username du ønsker å sjekke mot. For mitt eksempel: SELECT * FROM TABLE1, TABLE2 WHERE TABLE2.username = 'foo' Lenke til kommentar
frodeaa Skrevet 27. juli 2006 Forfatter Del Skrevet 27. juli 2006 SELECT * FROM main LEFT JOIN tabell_1 USING (user_id) LEFT JOIN tabell_2 USING (user_id) LEFT JOIN tabell_3 USING (user_id) WHERE username = '$user_name' "Error: Column 'username' in where clause is ambiguous". Dette er vel strengt tatt et SQL-problem og ikke PHP... anywho... Sant nok, dog der er ingen kategori for MySQL... Kunne vel kanskje putta den i Generell programmering... Den feilmeldinga betyr at navnet 'username' er brukt som navn på flere rader i flere tabeller. TABLE1 ID username password TABLE2 ID post forum username så hvis du for dette eksemplet skriver SELECT * FROM TABLE1, TABLE2 WHERE username = 'foo' vil du få nøyaktig den feilmeldinga du har fått. Løsningen er å spesifisere hvilken username du ønsker å sjekke mot. For mitt eksempel: SELECT * FROM TABLE1, TABLE2 WHERE TABLE2.username = 'foo' 6568333[/snapback] Riktig. Der er en rad i hver tabell kalt username, og jeg vil ha all info fra hver rad i alle tre tabeller... Dersom jeg spesifiserer bare en tabell, vil den da plukke info fra de andre to tabellene med samme ID? Lenke til kommentar
Ernie Skrevet 27. juli 2006 Del Skrevet 27. juli 2006 (endret) SELECT * FROM main LEFT JOIN tabell_1 USING (user_id) LEFT JOIN tabell_2 USING (user_id) LEFT JOIN tabell_3 USING (user_id) WHERE username = '$user_name' "Error: Column 'username' in where clause is ambiguous". Dette er vel strengt tatt et SQL-problem og ikke PHP... anywho... Sant nok, dog der er ingen kategori for MySQL... Kunne vel kanskje putta den i Generell programmering... 6568414[/snapback] Uhmm ... kanskje databaser? Endret 27. juli 2006 av Ernie Lenke til kommentar
frodeaa Skrevet 27. juli 2006 Forfatter Del Skrevet 27. juli 2006 Eeeeeh... Off... Det var litt flaut... Det er som min mor alltid sier, oynene er det foerste man blir blind paa. Kan en moderator vennligst flytte denne over i riktig kategori? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå