Re: PHP Problem or MySQL (Match ... against)?
| From: | jtjohnston | Date: | Mon, 02 Dec 2002 21:23:41 +0000 |
| Subject: | Re: PHP Problem or MySQL (Match ... against)? | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-126763@lists.php.net to get a copy of this message | ||
Chris, or anyone,
I have tried to escape the slashes. Debugging ...
$sql = 'SELECT ... ...
AGAINST (\'"ready maria"\' IN BOOLEAN MODE) ...';
This works. But if I addslashes or stripslashes, or do nothing, it does not
work.
See these 3 variations. Neither work. What should I do? A part from hang
myself :)
$sql = 'SELECT id,AU,ST,BT,AT FROM '.$table.' WHERE MATCH
(TNum,YR,AU,ST,SD,BT,BC,AT,PL,PR,PG,LG,AUS,KW,GEO,AN,RB,CO) AGAINST
(\''.addslashes($search).'\' IN BOOLEAN MODE) ORDER BY id asc';
$sql = 'SELECT id,AU,ST,BT,AT FROM '.$table.' WHERE MATCH
(TNum,YR,AU,ST,SD,BT,BC,AT,PL,PR,PG,LG,AUS,KW,GEO,AN,RB,CO) AGAINST
(\''.stripslashes($search).'\' IN BOOLEAN MODE) ORDER BY id asc';
$sql = 'SELECT id,AU,ST,BT,AT FROM '.$table.' WHERE MATCH
(TNum,YR,AU,ST,SD,BT,BC,AT,PL,PR,PG,LG,AUS,KW,GEO,AN,RB,CO) AGAINST
(\''.$search.'\' IN BOOLEAN MODE) ORDER BY id asc';
John
> > SELECT id,AU,ST,BT,AT FROM jdaxell.ccl WHERE MATCH
> (TNum,YR,AU,ST,SD,BT,BC,AT,PL,PR,PG,LG,AUS,KW,GEO,AN,RB,CO) AGAINST
> > ('"ready maria"' IN BOOLEAN MODE) ORDER
> > BY id asc
> >
> > When I run the same (copied and pasted) SQL in PHP, it is as though
> > MySQL is doing a boolean search for
+ready +maria without
> > the double
> > quotes and finding results in every database. if you search for "ready
> > maria" it should only find one entry.
>
> Escape the double quotes. ('\"ready maria\"' IN BOOLEAN ....
>
> g.luck,
> ~Chris