Thorvald Skrevet 9. februar 2018 Del Skrevet 9. februar 2018 Hei, Problemer med og bruke variabler i inner join mysql her: $result3 = mysql_query("SELECT * FROM $kommunedb INNER JOIN postnr ON $kommunedb.postnr=postnr.postnr WHERE $type='ja' AND godkjent ='ja' ORDER by $kommunedb.postnr") or die(mysql_error());$kommunedb og $type er ok. De har eg sjekket.Ser ut som querry ikke støtter $kommunedb.postnr delen. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INNER JOIN postnr ON .postnr=postnr.postnr WHERE pizza='ja' AND godkjent ='ja' O' at line 1 Lenke til kommentar https://www.diskusjon.no/topic/1803088-l%C3%B8st-php-mysql-inner-join-med-variabler/
Thorbear Skrevet 9. februar 2018 Del Skrevet 9. februar 2018 Det første som må nevnes er at du må slutte å bruke mysql_query(), benytt enten mysqli eller PDO. Utover det ville jeg gjettet at $kommunedb ikke har noen verdi. Det SQL klager på er at "INNER" ikke er et tabellnavn. Lenke til kommentar https://www.diskusjon.no/topic/1803088-l%C3%B8st-php-mysql-inner-join-med-variabler/#findComment-24300716
Crowly Skrevet 9. februar 2018 Del Skrevet 9. februar 2018 (endret) Du blander tabell navn og database navn. F.eks. hvis $kommunedb = crowly så blir sql'en din slik SELECT * FROM crowly INNER JOIN postnr ON crowly.postnr=postnr.postnr WHERE $type='ja' AND godkjent ='ja' ORDER by crowly.postnrTa også i bruk alias på tabell navn, så blir det enklere å referere til dem. Når du bruker variabler inne i double quote strenger, bruk {} rundt variablene. Bruk også ` rundt felt og tabell navn, slik at du unngår konflikt med reserverte ord. Vil også anbefale å bruke engelsk språk i stedet for norsk på felt og tabell navn.Hvis alle tabellene er i en database kan du droppe database referansen og kun oppgi tabell navnet. SELECT * er en uting å bruke hvis ikke du trenger alle feltene, plukk ut kun de feltene du trenger. Gjør slik, omskrevet til generell syntaks SELECT * FROM `databaseNavn`.`tabellNavn` AS tab1 INNER JOIN `databaseNavn`.`postnrTabellNavn` AS pnr ON pnr.`postnr` = tab1.`postnr` WHERE tab1.`{$type}` = 'ja' -- regner med at dette er i tab1 tabellen, hvis ikke så flytt det til ON delen i join delen AND tab1.`godkjent` = 'ja' ORDER BY tab1.`postnr` Endret 9. februar 2018 av Crowly Lenke til kommentar https://www.diskusjon.no/topic/1803088-l%C3%B8st-php-mysql-inner-join-med-variabler/#findComment-24300762
Thorvald Skrevet 10. februar 2018 Forfatter Del Skrevet 10. februar 2018 Takker Om til Alias løste det Lenke til kommentar https://www.diskusjon.no/topic/1803088-l%C3%B8st-php-mysql-inner-join-med-variabler/#findComment-24302100
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å