Gå til innhold

[Løst] php mysql inner join med variabler


Anbefalte innlegg

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
Videoannonse
Annonse

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.postnr
Ta 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 av Crowly
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...