参数编号PDO无效,正在替换多个参数。

时间:2018-07-02 20:37:01

标签: pdo

我正在尝试检查多列其值可能包含搜索参数的列。

SELECT * FROM websites 
WHERE county LIKE (:search)
OR dealer_id LIKE (:search)
OR name LIKE (:search)  
OR postcode LIKE (:search)  
OR theme_folder LIKE (:search)  
OR url LIKE (:search)  
OR website_id LIKE (:search)  
OR website_type LIKE (:search)  
LIMIT :start, :end

如下所示,我正在绑定参数:

$websites->bindValue(':start', $start, \PDO::PARAM_STR);
$websites->bindValue(':end', PAGINATION_WEBSITES_PER_PAGE, \PDO::PARAM_STR);
$websites->bindValue(':search', '%'.SEARCH_TERM.'%', \PDO::PARAM_STR);

但是我遇到一个错误:

  

无效的参数号

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  

有人有什么主意吗?

直接从Manual

  

调用PDOStatement :: execute()时,对于要传递给语句的每个值,必须包含一个唯一的参数标记。除非打开了仿真模式,否则在准备好的语句中不能多次使用相同名称的命名参数标记。