Php mysql PDO带有SELECT OR,错误!:SQLSTATE[HY093]

Php mysql PDO带有SELECT OR,错误!:SQLSTATE[HY093],php,mysql,pdo,Php,Mysql,Pdo,我有一个简单的搜索表单,它向我的php文件发送一个post请求,其中包含如下输入“searchword=test1”。然后,我将其与PDO一起用于搜索表中的匹配数据 到目前为止,我只搜索了一列,使用以下语句: $query=$db->prepare(“从标题为:seachword的文章中选择*); 但现在我想搜索trought 3列(名为title、extract和body) $query=$db->prepare(“从标题类似:seachword或摘录类似:searchword或正文类似:se

我有一个简单的搜索表单,它向我的php文件发送一个post请求,其中包含如下输入
“searchword=test1”
。然后,我将其与PDO一起用于搜索表中的匹配数据

到目前为止,我只搜索了一列,使用以下语句:

$query=$db->prepare(“从标题为:seachword的文章中选择*);

但现在我想搜索trought 3列(名为title、extract和body)

$query=$db->prepare(“从标题类似:seachword或摘录类似:searchword或正文类似:searchword的文章中选择*);

现在我得到一个错误,说“错误!”SQLSTATE[HY093]:无效参数编号:绑定变量的数量与令牌的数量不匹配

如果我使用bash运行SQL语句(
SELECT*FROM title(如“%test%”或body(如“%elem%”);
),查询结果返回良好

知道我错过了什么吗

这是我的密码:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

try {
    $hostname = "localhost";
    $username = "root";
    $password = "";

    $db = new PDO("mysql:host=$hostname;dbname=topdecka_PTC",$username, $password);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    if (!empty($_POST["searchword"])) {
        $searchword = $_POST["searchword"];
        $query = $db->prepare("SELECT * FROM articles WHERE title LIKE :seachword OR extract LIKE :searchword OR body LIKE :searchword");
        $query->execute(array(":seachword" => "%" . $searchword . "%"));

        $result = $query->fetchAll(PDO::FETCH_ASSOC);
        echo json_encode($result);
        die();
    } 
    else {
        $query = $db->prepare('SELECT * FROM articles');
        $query->execute();

        $result = $query->fetchAll(PDO::FETCH_ASSOC);
        echo json_encode($result);
        die();
    }
} catch (PDOException $e) {
    echo "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>


你有一个打字错误:2x
:seachword
和2x
:search word
你有一个打字错误:2x
:seachword
和2x
:search word

你有一个打字错误:2x
:seachword
和2x
:search word
你有一个打字错误:2x
:seachword
和2x
:search word回显查询显示了什么…我认为有问题…你的查询字符串对我来说看起来疯狂请回显查询显示了什么…我认为有问题…你的查询字符串对我来说疯狂请回显查询显示了什么…我认为有问题…你的查询字符串对我来说疯狂请回显查询显示了什么show…我想这是问题所在..你的查询字符串在我看来很疯狂