微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在MySQL中使用FULLTEXT是否需要我在PHP中使用其他语法来检索结果?

如何解决在MySQL中使用FULLTEXT是否需要我在PHP中使用其他语法来检索结果?

这是我的代码

$terminosBuscados = 'vender la porteria'

$x = $conectarDB->prepare(" 
    SELECT disTINCT 
    titulo,FROM_UNIXTIME(fecha,'%d-%m-%Y') AS fecha,cuerpo,tipoContenido,autor
    FROM searchIndex 
    WHERE match(titulo) 
    AGAINST (' ? ' IN BOOLEAN MODE)
    ORDER BY contenidoID DESC
    ");
$x->bindParam(1,$terminosBuscados);
$x->execute();
$y = $x->fetchAll(PDO::FETCH_ASSOC);

当在PHPMyAdmin中尝试查询本身确实起作用并显示结果时,这根本不显示任何结果($y返回null)。

我刚刚在表中添加了FULLTEXT索引,并修改了工作代码以使用该索引。

解决方法

对于mysql' '是一个字符串,将不会用作palfer holfer。

如果需要空格,请使用CONCAT(' ',?,' ')

$x = $conectarDB->prepare(" 
    SELECT DISTINCT 
    titulo,FROM_UNIXTIME(fecha,'%d-%m-%Y') AS fecha,cuerpo,tipoContenido,autor
    FROM searchIndex 
    WHERE match(titulo) 
    AGAINST (CONCAT(' ',' ') IN BOOLEAN MODE)
    ORDER BY contenidoID DESC
    ");
$x->bindParam(1,$terminosBuscados);
$x->execute();
$y = $x->fetchAll(PDO::FETCH_ASSOC);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。