Gå til innhold

Problemer med en spørring (mysql)


Anbefalte innlegg

Hei, jeg prøver å lage en søkefunksjon.

Problemet jeg har er at jeg sliter med en spørring som skal sammenligne søke queryen min med database innholdet fra flere tabeller.

 

$sokQuery = mysql_query("SELECT * FROM `info`

WHERE `navn` LIKE CONVERT(_utf8 '%".$_GET['sokString']."%' USING latin1) COLLATE latin1_swedish_ci

OR `info` LIKE CONVERT(_utf8 '%".$_GET['sokString']."%' USING latin1) COLLATE latin1_swedish_ci");

 

Denne strengen har jeg nå og den fungerer ikke, har lyst til at den skal finne det du søker på om den ligger i tabell 'navn' eller 'info' eller 'status' ved hjelp av en spørring.

 

Noen som kan hjelpe meg?

Takker for alle svar.

Lenke til kommentar
Videoannonse
Annonse

generelt dårlig spørring, ville behandler stringen før den settes inn i en spørring. For la oss si du søker på Ole normann så vil søket ditt bli slik

 

.... Like '%Ole normann%'

 

Den vil ikke snappe opp Ole Kristian Normann. Men bruker du str_replace først og erstatter space med % så vil den bli slik

 

... Like '%ole%normann%'

Lenke til kommentar

Synes det burde bli lagt ned forbode mot å blande PHP og sql kode, ijallefall burde det blir gjort noko med dei spørringane som er fritt åpne for SQL injections.

 

$sokQuery = mysql_query("SELECT * FROM `info`
WHERE `navn` LIKE CONVERT(_utf8 '%".$_GET['sokString']."%' USING latin1) COLLATE latin1_swedish_ci
OR `info` LIKE CONVERT(_utf8 '%".1');DROP TABLE info;."%' USING latin1) COLLATE latin1_swedish_ci");

Lenke til kommentar
Synes det burde bli lagt ned forbode mot å blande PHP og sql kode, ijallefall burde det blir gjort noko med dei spørringane som er fritt åpne for SQL injections.

 

$sokQuery = mysql_query("SELECT * FROM `info`
WHERE `navn` LIKE CONVERT(_utf8 '%".$_GET['sokString']."%' USING latin1) COLLATE latin1_swedish_ci
OR `info` LIKE CONVERT(_utf8 '%".1');DROP TABLE info;."%' USING latin1) COLLATE latin1_swedish_ci");

 

Jeg har behandlet stringen før jeg putter den inn i spørringen min, men brukte GET variabel for å se etter om det fungerte.

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...