gpt4 book ai didi

php - 带数组元素的全文搜索 pdo

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

我的全文搜索查询有问题,我认为该查询在我更新 phpmyadmin 之前就可以工作。让我们开始吧:

我从第一个选择查询中得到一个名为 $keywordse 的数组,其中 $keywordse = $resi->fetchAll(PDO::FETCH_ASSOC); 如果我运行 var_dump($keywordse); 我得到以下输出:

    array(1) { [0]=> array(4) { 
["keyword1"]=> string(4) "test"
["keyword2"]=> string(5) "asdfr"
["keyword3"]=> string(4) "roof"
} }

在第一个查询之后,我添加了 $keywordsonetoeight = implode(',', $keywordse); 来转换第二个查询的数组。在这一行我得到

Notice: Array to string conversion

第二个查询:

                    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();
}
}
catch(PDOException $e)
{
//echo $e->getMessage();
}

第二个查询或变量$keywordsonetoeight有什么问题吗?

最佳答案

您的转换错误,您必须转换 $keywordse 的第一个条目才能以字符串形式获取关键字。

$keywordsonetoeight = implode(',', $keywordse[0]);

我不确定逗号分隔是否正确,也许您只需要在查询中添加空格,但我现在无法检查这一点。

关于php - 带数组元素的全文搜索 pdo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33666828/

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