Mysql LIKE syntax.Hjælp!

Tags:    mysql like syntax

Hejsa :D

Jeg skriver noget php, hvor jeg laver en søge funktion. Jeg vil gerne have min mysql_query, søger i to rækker (title, body) i min tabel1.

Det virker hvis jeg kun har valgt title eller body.
Neden for er et af mine bud på hvordan det skulle skrives.

$keyword = $_POST['keywords'];
$userid = $_SESSION['id'];
$results = "SELECT body, title FROM table1 WHERE title LIKE '%$keyword%' OR body LIKE '%$keyword%' AND userid = '$userid'";


Håber i kan hjælpe mig med hvad der er i vejen. :)



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Du har: Udsagn1 OR Udsagn2 AND Udsagn3
Det er noget tvetydigt og jeg tvivler på at MySQL tolker det, sådan som du ønsker. Prøv at samle dine to første udsagn med parentes.

Fold kodeboks ind/udPHP kode 




Hvad siger den nu når du søger på body eller title ?

Prøvet at udskifte OR til || ??


Bruger altid ``
Men
prøv evt det:

$keyword = $_POST['keywords'];
$userid = $_SESSION['id'];
$results = "SELECT `body`, `title` FROM `table1` WHERE `title` LIKE '%$keyword%' OR `body` LIKE '%$keyword%' AND userid = '$userid'";

Eller


$keyword = $_POST['keywords'];
$userid = $_SESSION['id'];
$results = "SELECT `body`, `title` FROM `table1` WHERE `title` LIKE '%$keyword%' || `body` LIKE '%$keyword%' AND userid = '$userid'";



Indlæg senest redigeret d. 12.03.2012 10:21 af Bruger #17118
Det virkede med || tusinde tak :D



Hov, redigeret lige mit svar før.

Men godt, bruger altid selv || til flere tilføjelser til søgninger til SQL :)



Ja så det godt lige. :P
Men jeg har nu ændret det og det virker nu. Tak igen. :)


Hej Stefan Svensson.
så lige dit svar og det hjalp endnu beder (ved en if jeg har efter???). Jeg kendte ikke til logikken i det. Men kan godt forstå den, når du har forklaret den så flot for mig. :) :P

Tak skal du have. :D



Indlæg senest redigeret d. 12.03.2012 10:38 af Bruger #17119
t