Php 使用pdo的搜索框

Php 使用pdo的搜索框,php,pdo,Php,Pdo,我正在尝试使用php pdo为我的站点创建一个搜索框,代码如下: 致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[HY093]:参数编号无效:绑定变量的数量与令牌的数量不匹配” $input = str_replace(array('%','_'),'',$_POST['input']); if (!$input) { header('Location: index.php?action=null value');

我正在尝试使用php pdo为我的站点创建一个搜索框,代码如下:

致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[HY093]:参数编号无效:绑定变量的数量与令牌的数量不匹配”

$input = str_replace(array('%','_'),'',$_POST['input']);
   if (!$input)
      {
         header('Location: index.php?action=null value');
            exit;
      }
        $query =('SELECT * FROM sales WHERE datetime LIKE :search OR datetime LIKE  :search'.$pages->get_limit());
          $stmt = $digital->prepare($query);
          $stmt->bindValue(':search', '%' . $input . '%', PDO::PARAM_INT);
          $stmt->execute();

有两次
:搜索
$pages->get_limit()
里面有什么?还有,如果你在里面放了一个字符串,为什么要
PARAM_INT
呢?谢谢,我刚把它修好,它就可以工作了。我的印象是,你不能在sql for PDO中重复使用同一个命名的占位符。第二次尝试另一个占位符,但在另一个bind语句中指定相同的值有两次
:search
$pages->get_limit()
里面有什么?还有,如果你在里面放了一个字符串,为什么要
PARAM_INT
呢?谢谢,我刚把它修好,它就可以工作了。我的印象是,你不能在sql for PDO中重复使用同一个命名的占位符。尝试为第二个占位符指定其他占位符,但在另一个bind语句中指定相同的值