所以,我在数据库(文章)中有4个表。有,ID(自动增量),标题,描述和内容。
以下是我用于执行PDO全文搜索的SQL查询:
$sql = $database->prepare("SELECT *,
MATCH(title, content) AGAINST('*$query*' IN BOOLEAN MODE) as score
FROM articles
WHERE MATCH(title, content) AGAINST('*$query*' IN BOOLEAN MODE)
ORDER BY score DESC");
$sql->execute();
当我回应它时,一切都有效。
但是,当我包含' description'进入它,它不起作用。
$sql = $database->prepare("SELECT *,
MATCH(title, content, description) AGAINST('*$query*' IN BOOLEAN MODE) as score
FROM articles
WHERE MATCH(title, content, description) AGAINST('*$query*' IN BOOLEAN MODE)
ORDER BY score DESC");
$sql->execute();
它没有给我任何错误消息。然而,当我回应它时,没有结果。
我正在使用WAMP服务器。
答案 0 :(得分:0)
当您创建表时,描述字段不在其中,然后在MYSQL中的FULLTEXT键中不可用。您可以在此处Show a tables FULLTEXT indexed columns查看是否缺少说明列。
如果是,您需要删除/删除FULLTEXT搜索列并添加新的
ALTER TABLE articles ADD FULLTEXT(title, content, description)