webForumDet fria alternativet
Logga in / Bli medlem

AND - mysql_query

PHP

4 svar · 355 visningar · startad av apaaa

Medlem sedan nov. 200559 inlägg
Trådstart#1

where Name=" . $_GET['Name'] . " AND rubrik Like '%$search' or text LIKE '%$search' order by ID desc")

AND fungerar inte, varför?
Sätter jag OR istället så fungerar det som det ska men om jag sätter AND så tar den inte upp något alls.
Hur får jag så den hämtar både Name och rubrik eller text?

/Anders.

Medlem sedan juni 200032 967 inlägg
#2

Skriv ut den färdiga SQL-frågan med echo istället för att exekvera den, då blir det lättare att felsöka.

I övrigt bör du nog ha parenteser runt dina OR-villkor (om du inte vill att name-villkoret bara ska gälla tillsammans med rubrik-villkoret).

Medlem sedan mars 20034 471 inlägg
#3

Så fort du använder både AND och OR i något villkor måste du införa paranteser för att vara säker på att SQL och du tolkar frågan på samma sätt. Det är skillnad på:
(Name=" . $_GET['Name'] . " AND rubrik Like '%$search') or text LIKE '%$search'
och
Name=" . $_GET['Name'] . " AND (rubrik Like '%$search' or text LIKE '%$search').

Medlem sedan nov. 200559 inlägg
#4

Tack för hjälpen!

Okej, men nu till nästa problem

mysql_query("select * from bilar where (Rubrik LIKE '%$search' OR Text LIKE '%$search') And Katagori LIKE '%$Katagori' order by ID desc")

Det fungerar ju men, den söker inte på alla ord om man säger så.

Blandannar så om rubriken är "kaka hej" så hittar den bara om man söker på hej, varför då?

Jag vill att det ska hitta ex, "apa" även om det står som fogbapann

Hur gör jag det?

Mvh Anders.

Medlem sedan juni 20006 031 inlägg
#5

Ändra alla %$search till %$search%

387 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
127 ms — deklarationer (db)
123 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)