全文搜索pdo与数组元素

时间:2015-11-12 08:09:08

标签: php mysql arrays pdo

我有一个全文搜索查询的问题,在我更新phpmyadmin之前有效。让我们开始:

我从第一个选择查询得到一个名为$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);

在第一次查询后,我添加了 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

第二个查询或变量Fri Nov 06 23:59:59 IST 2015 有什么问题吗?

1 个答案:

答案 0 :(得分:1)

您的转换错误,您必须转换$ keywordse的第一个条目以将关键字作为字符串。

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

我不确定逗号分隔是否正确可能您只需要查询中的空格,但我现在无法检查。