mysql_query("SELECT films.*,
MATCH(films.film_title) AGAINST ('$keyword \">$keyword\"' IN BOOLEAN MODE) AS score
FROM films
WHERE MATCH(films.film_title) AGAINST('$keyword \">$keyword\"' IN BOOLEAN MODE) >.8 ORDER BY score DESC, views DESC LIMIT 7",$dbh)
or die(mysql_error());
So, as a sample search. I have two films called “Arrival”, and I search “arrival”. It only returns one of the films. I can’t figure out why. Does Match Against avoid duplicates?
Assuming that you’re server-side language is PHP, you’re a sitting duck for SQL Injection attacks with that code! Also the mysql_* extension was removed from PHP as of version 7 of PHP.
What collation have you used for the table? Not all collations are case-insensitive