Searching with MATCH(), AGAINST() and AS score with mysqli and php
- by Drew
Below is the code I am using to search my table. I have made the relevant columns FULLTEXT in the table. This doesn't return me anything. Can someone tell me what it is that i'm doing wrong? Thanks in advance.
$sql = 'SELECT id,uname,class,school, MATCH(uname, class, school) AGAINST(?) AS score FROM images WHERE MATCH(uname, class, school) AGAINST(? IN BOOLEAN MODE) ORDER BY score DES';
$stmt = $db_connection->prepare($sql);
$stmt->bind_param('ss',$keyword,$keyword);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id,$uname,$class,$school);
$xml = "<data>".PHP_EOL;
while($stmt->fetch()){
$xml .= " <person>".PHP_EOL;
$xml .= " <id>$id</id>".PHP_EOL;
$xml .= " <name>$uname</name>".PHP_EOL;
$xml .= " <class>$class</class>".PHP_EOL;
$xml .= " <school>$school</school>".PHP_EOL;
$xml .= " </person>".PHP_EOL;
}
$xml .= "</data>";
echo $xml;
Below is an image of the indexes of the table: