duancenxie2233 2015-11-12 12:56
浏览 24
已采纳

在MATCH之后添加2行时,FULL TEXT查询将不起作用

Following problem: If I add in the query after MATCH only text or only title, the query works fine and I get a array with the values. But when I added after MATCH the two rows title and text like that MATCH (title, text) the query wont works and I get Undefined variable: result. I cant find the problem by myself and I think its the right syntax. My error:

SQLSTATE[HY000]: General error: 1191 Can't find FULLTEXT index matching the column list

Both title and text have FULLTEXT index how I written above...

    $keywordsonetoeight = implode(',', $keywordse[0]); 
                try {
                        $dbh = new PDO("mysql:host=$hostname;dbname=loginsystem",$user,$password);

                        $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 
                         $sql = "SELECT id, autorid, autor, title, text, time 
FROM posts 
WHERE MATCH (title, text) AGAINST ('$keywordsonetoeight')
ORDER BY id DESC"; 
  if ($res = $dbh->query($sql)) {// need to add this line in your code
      // then after fetchColumn
     $result = $res->fetchAll();
   }
  • 写回答

1条回答 默认 最新

  • dslpofp041310584 2015-11-12 13:16
    关注

    The error message indicates that you do not have the appropriate fulltext index. Probably you indexed title and text columns individually, but now you are trying to do a fulltext search on both of them, which requires a combined fulltext index.

    I would add FULLTEXT (title,text) index to your table and then you can do a MATCH (title, text) AGAINST ('$keywordsonetoeight')

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 求解vmware的网络模式问题
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?