【问题标题】:PDO: Number of bound variables does not match the number of tokensPDO:绑定变量的数量与令牌的数量不匹配
【发布时间】:2014-06-11 05:43:28
【问题描述】:

PHP/SQL 代码:

$sth = $dbh->prepare("SELECT * 
FROM  `jobs` 
WHERE  `city` = :city
AND  `district` = :district
AND  `type` = :type
AND (
CONVERT(  `id` 
USING utf8 ) LIKE  '% :keyword %'
OR CONVERT(  `owner` 
USING utf8 ) LIKE  '% :keyword %'
OR CONVERT(  `title` 
USING utf8 ) LIKE  '% :keyword %'
OR CONVERT(  `city` 
USING utf8 ) LIKE  '% :keyword %'
OR CONVERT(  `district` 
USING utf8 ) LIKE  '% :keyword %'
OR CONVERT(  `type` 
USING utf8 ) LIKE  '% :keyword %'
OR CONVERT(  `payrate` 
USING utf8 ) LIKE  '% :keyword %'
OR CONVERT(  `hours` 
USING utf8 ) LIKE  '% :keyword %'
OR CONVERT(  `description` 
USING utf8 ) LIKE  '% :keyword %'
)
LIMIT 0 , 30");

$sth->bindParam(':city', $city);
$sth->bindParam(':district', $district);
$sth->bindParam(':type', $type);
$sth->bindParam(':keyword', $keyword);
$sth->execute();

似乎我的令牌/变量之一没有正确“绑定”?任何想法/如何纠正?

我猜我需要在某个地方转义才能使变量正常工作,但是我对 PDO 及其布局方式相当陌生。

谢谢。

【问题讨论】:

标签: php pdo


【解决方案1】:

尝试删除 :keyword 周围的引号并将 % 通配符移动到您的 bindParam 调用中。

$sth = $dbh->prepare("SELECT * 
FROM  `jobs` 
WHERE  `city` = :city
AND  `district` = :district
AND  `type` = :type
AND (
CONVERT(  `id` 
USING utf8 ) LIKE  :keyword
OR CONVERT(  `owner` 
USING utf8 ) LIKE  :keyword
OR CONVERT(  `title` 
USING utf8 ) LIKE  :keyword
OR CONVERT(  `city` 
USING utf8 ) LIKE  :keyword
OR CONVERT(  `district` 
USING utf8 ) LIKE  :keyword
OR CONVERT(  `type` 
USING utf8 ) LIKE  :keyword
OR CONVERT(  `payrate` 
USING utf8 ) LIKE  :keyword
OR CONVERT(  `hours` 
USING utf8 ) LIKE  :keyword
OR CONVERT(  `description` 
USING utf8 ) LIKE  :keyword
)
LIMIT 0 , 30");

$sth->bindParam(':city', $city);
$sth->bindParam(':district', $district);
$sth->bindParam(':type', $type);
$sth->bindParam(':keyword', "%$keyword%");
$sth->execute();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 2014-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多