21. juli 2009 - 11:59Der er
16 kommentarer og 1 løsning
sql streng
Hej
Hvorfor virker denne select ikke:
select * from diverse join postnr on devirse.postnr = postnr.postnr where navn like '' or postnr=5700 or bynavn like '' order by navn asc;
Jeg har tre søgefelter hvoraf som minimum et skal være udfyldt. Her er det så postnr og de andre er tomme. Den skal altså bare søge på postnr. Er det ikke en måde at gøre det på?
select * from diverse join postnr on diverse.postnr = postnr.postnr where navn like '' or diverse.postnr=5700 or postnr.bynavn like '' order by navn asc;
Her udskriver den alle rækker i databasen. søger jeg på navn
select * from diverse join postnr on diverse.postnr = postnr.postnr where navn like 'a' or diverse.postnr= or postnr.bynavn like '' order by navn asc;
siger den:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'or postnr . bynavn like '' order by navn asc LIMIT 0, 30' at line 1
Grunden til den returnere alle rækker er vel fordi det kune er din WHERE (1 = 1) der er opfyldt.
Første gang i asp, men vi prøver:
strSQL = "SELECT * FROM " & tabel"
If len(trim(po)) Then strSQL = strSQL & " JOIN postnr ON postnr.postnr" end if strSQL = strSQL & " WHERE (1 = 1) "
If len(trim(navn)) Then strSQL = strSQL & "AND (navn = '" & navn & "') " end if
If len(trim(po)) Then strSQL = strSQL & "AND (" postnr.postnr LIKE '%" & PO & "%') " If len(trim(bynavn)) Then strSQL = strSQL & "AND (postnr.bynavn LIKE '%" & bynavn & "%') " end if end if
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.