[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 191
  • Last Modified:

php sql full text

hi all,,,


This is mySQl query work works no promlem in the DB but not in php ...why


SQL

           SELECT directory. * ,
MATCH (
keywords, title
)
AGAINST (
'%%%pottery%%'
) AS score
FROM directory
WHERE MATCH (
keywords, title
)
AGAINST (
'%%%pottery%%'
)
ORDER BY score DESC


PHP


<?php
 MySQL_connect("xxxxxxxxxxxxxx", "xxxxxxxxxxxx", "xxxxxxxxxxxxx");
    MySQL_select_db("xxxxxxxxxxxxxxxxxx");
        $sql = " 
           SELECT directory. * ,
MATCH (
keywords, title
)
AGAINST (
'%%%pottery%%'
) AS score
FROM directory
WHERE MATCH (
keywords, title
)
AGAINST (
'%%%pottery%%'
)
ORDER BY score DESC
        ";
        $res = MySQL_query($sql);
?>


THanks

G
0
gabss
Asked:
gabss
  • 6
  • 4
  • 2
  • +1
1 Solution
 
Pete LongConsultantCommented:
Hi ninobennett,
do you have the plugin for exchange?? what do the veritas job logs tell you?? do you have the open file option installed

Cheers!
0
 
DoppyNLCommented:
run youre query like this and you can see the error wich is occuring:
$res = mysql_query($sql , $connection) or die("<b>Query Failed</b><br>\n".$sql."<br>\n".mysql_errno().": ".mysql_error());
0
 
gabssAuthor Commented:
it returns only " Query Error "

nowt else....

any other help ?????????

and Petelong what u on about ?


G
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
DoppyNLCommented:
strange that it returns " Query Error ", as that is not in the code....

try this one:
$res = mysql_query($sql) or die("<b>Query Failed</b><br>\n".$sql."<br>\n".mysql_errno().": ".mysql_error());

if still no result try
print($sql);
to check if the sql is correct in PHP (some string parsing might make the sql incorrect).

you can also try to put your sql on a single line:
$sql = "SELECT directory. * , MATCH (keywords, title) AGAINST ('%%%pottery%%') AS score FROM directory WHERE MATCH (keywords, title ) AGAINST ('%%%pottery%%') ORDER BY score DESC";
0
 
SqueebeeCommented:
You can also drop the % symbols unless you are really searching for a literal % symbol, in which case you should escape it with \%
0
 
gabssAuthor Commented:
DoppyNL

Thanks this works BUT:

$sql = "SELECT directory. * , MATCH (keywords, title) AGAINST ('%%%pottery%%') AS score FROM directory WHERE MATCH (keywords, title ) AGAINST ('%%%pottery%%') ORDER BY score DESC";


i have new BIG BIG problem with it....

If one row in db contains the word "pottery" it return it no problem.....

BUT

If 2 rows in db contain the wor "pottery" it return nothing

Any ideas


Thanks

G
0
 
SqueebeeCommented:
Did you try dropping all those % symbols?
0
 
gabssAuthor Commented:
yep tried that ???

Same problem ???

im lost...

please help ???

G
0
 
SqueebeeCommented:
How many rows are in the table? I term that appears in too many rows is considered a stop-word and is not searched against, since too large a percentage of rows will be returned.
0
 
gabssAuthor Commented:
only 4 ....

i'll add a load now and see

cheers
0
 
gabssAuthor Commented:
yeh it sort of works....

BUT

im doing a niche directory so 10 sites might have the same keywords..... out of 20 ....

Is there a work around ?


Thanks again

G

0
 
gabssAuthor Commented:
it only work with 4 lettered words ?

can it do 3 ??

thanks again

G
0
 
SqueebeeCommented:
Three letter words are too short, it is possible to change the setting and recompile if needs be, you can also use the IN BOOLEAN MODE searching to get around the half row limits and 3 word constraints.
0
 
Pete LongConsultantCommented:
Hello this question has been open a while please take the time to come back and clean it up.

Closing Questions
http://www.experts-exchange.com/help.jsp#hs5


Best Wishes

Pete
www.petenetlive.com
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 6
  • 4
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now