php - 全文搜索不适用于某些表

标签 php mysql pdo

因此,我在数据库中有 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();    

当我回应它时一切正常。

但是,当我在其中包含“描述”时,它不起作用。

$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 服务器。

最佳答案

可能当您创建表时,描述字段不在那里,然后不在 MYSQL 的 FULLTEXT 键中。你可以看这里Show a tables FULLTEXT indexed columns查看它是否缺少描述栏。

如果是,您需要删除/删除 FULLTEXT 搜索列并添加一个新的

ALTER TABLE articles ADD FULLTEXT(title, content, description)

关于php - 全文搜索不适用于某些表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26986635/

相关文章:

php - 从php中的同名命名空间导入全局类

php - Doctrine 模型的默认排序属性

php - 使用 PDO 转义列名

php - 正确使用 php PDOStatment::rowCount()

mysql - 使用 SQL 计算出特定事件发生的次数百分比

php - 使用动态字段更新 MySQL

php - 运行时更改字段属性

javascript - 根据 WooCommerce 订单接收页面中应用的优惠券创建重定向

mysql - 如何使用 Rails 2.1 和 MySQL 定义 BigInt 主键?

PHP:用户登录系统/检查用户是否有权访问页面