Avatar billede m_bold Praktikant
26. juni 2006 - 15:38 Der er 1 kommentar og
1 løsning

Query med AND og OR

Hvad er der galt med denne query:

$rsResultat = mysql_query("SELECT * FROM netbutik1_varer WHERE status = 1 AND navn LIKE '%".$_GET['search']."%' OR overskrift LIKE '%".$_GET['search']."%' OR beskrivelse LIKE '%".$_GET['search']."%'") or die(mysql_error());

Den ignorerer helt min betingelse med at status skal være 1.
Avatar billede m_bold Praktikant
26. juni 2006 - 15:40 #1
Fik selv løst det:

$rsResultat = mysql_query("SELECT * FROM netbutik1_varer WHERE status = 1 AND (navn LIKE '%".$_GET['search']."%' OR overskrift LIKE '%".$_GET['search']."%' OR beskrivelse LIKE '%".$_GET['search']."%')") or die(mysql_error());
Avatar billede fennec Nybegynder
26. juni 2006 - 16:00 #2
I fremtiden så følg denne lille guideline:
Har du en OR betingelse skal du også have en parentes omkring.

Det hele skyldes at AND er vigtigere end OR og din søgning bliver derfor opfattet som:
where (status = 1 AND navn LIKE '%test%') OR overskrift LIKE '%test%' OR beskrivelse LIKE '%test%'

Så ved du det :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester