Tom,
Sorry for the delay. I have tried your code.
SELECT id,AU,ST,BT,AT FROM ccl_main 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
Without the space, as with addslashes, MySQL won't compute the sql.
This is the echo $sql. There is an extra space before the final single quote.
Nonetheless,
$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
(\''.clean_search_string($search).'\' IN BOOLEAN MODE) ORDER BY id asc';
MySQL still thinks it is receiving A boolean +ready and + maria
http://ccl.flsh.usherb.ca/print/index.html
I'm just dumbfounded.
> Tom Rogers wrote:
> Hi,
>
> Thursday, December 5, 2002, 3:39:20 AM, you wrote:
> JTJ> What are magic quotes? Will this help me?
>
> JTJ> http://news.php.net/article.php?group=php.general&article=126934
>
> JTJ> How is this different from stripslashes.
>
> JTJ> I have RTF doc :)
>
> JTJ> http://www.php.net/manual/en/function.get-magic-quotes-gpc.php
>
> JTJ> Be gentil ::p
>
> JTJ> --
> JTJ> John Taylor-Johnston
> JTJ> -----------------------------------------------------------------------------
> JTJ> "If it's not open-source, it's Murphy's Law."
>
> JTJ> - Universit� de Sherbrooke:
> JTJ> http://compcanlit.ca/
>
> magic quotes are slashes that are added to post and get data by PHP
> That is probably what is stuffing up :)
> I replied to an earlier thread with a possible solution but here it is again...
>
> function clean_search_string($s){
> $s = stripslashes($s);
> $state = 'S';
> $len = strlen($s);
> $out = '';
> $list = array();
> for($i=0;$i<$len;$i++){
> switch($state){
> case 'S':
> switch($s[$i]){
> case ' ':
> break;
> case '"':
> $state = 'Q';
> break;
> case "'":
> $state = 'q';
> break;
> default:
> $state = 'W';
> $out .= $s[$i];
> break;
> }
> break;
> case 'W':
> switch($s[$i]){
> case ' ':
> $state = 'S';
> $out = addslashes($out);
> $list[] = $out;
> $out = '';
> break;
> default:
> $out .= $s[$i];
> break;
> }
> break;
> case 'Q':
> switch($s[$i]){
> case '"':
> $state = 'S';
> $out = '"'.addslashes($out).'"';
> $list[] = $out;
> $out = '';
> break;
> default:
> $out .= $s[$i];
> break;
> }
> break;
> case 'q':
> switch($s[$i]){
> case "'":
> $state = 'S';
> $out = '"'.addslashes($out).'"';
> $list[] = $out;
> $out = '';
> break;
> default:
> $out .= $s[$i];
> break;
> }
> break;
> }
> }
> if(!empty($out)) $list[] = addslashes($out);;
> $r = '';
> $x = 0;
> while(list($key,$val)=each($list)){
> $r .= $val.' ';
> }
> return $r;
> }
> $test = addslashes(' +test "hello maria" fish '."-O'Brian 'big \" test'");
> $list = clean_search_string($test);
> echo $list.'<br>';
>
> you will then just need "SELECT.......... AGAINST '$list' .... "
>
> --
> regards,
> Tom
--
John Taylor-Johnston
-----------------------------------------------------------------------------
"If it's not open-source, it's Murphy's Law."
' ' ' Coll�ge de Sherbrooke:
��� http://www.collegesherbrooke.qc.ca/languesmodernes/
- Universit� de Sherbrooke:
http://compcanlit.ca/
819-569-2064