gpt4 book ai didi

php - 在 MATCH 之后添加 2 行时,全文查询将不起作用

转载 作者:行者123 更新时间:2023-11-29 11:53:08 25 4
gpt4 key购买 nike

以下问题:如果我在 MATCH 之后添加查询仅text或仅 title ,查询工作正常,我得到一个包含值的数组。但是当我在 MATCH 之后添加两行 titletext就像 MATCH (title, text) 一样,查询不起作用,我得到 Undefined variable: result 。我自己找不到问题,我认为它的语法是正确的。我的错误:

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

标题和文本都有全文索引,我是如何在上面写的...

    $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();
}

最佳答案

该错误消息表明您没有适当的全文索引。也许您分别对标题和文本列建立了索引,但现在您尝试对它们进行全文搜索,这需要组合全文索引。

我会将 FULLTEXT (title,text) 索引添加到您的表格中,然后您可以执行 MATCH (title, text) AGAINST ('$keywordsonetoeight')

关于php - 在 MATCH 之后添加 2 行时,全文查询将不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33671938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com