gpt4 book ai didi

php - PDO 对象 : Invalid parameter number: number of bound variables does not match number of tokens

转载 作者:行者123 更新时间:2023-11-29 06:13:08 24 4
gpt4 key购买 nike

$queryString = 'SELECT * FROM n8593370.items AND Suburb = :suburb AND Name LIKE \'%:name%\'';

$stmt = $pdo->prepare($queryString);
$stmt->bindValue(':suburb', $suburb);
$stmt->bindValue(':name', $name);

$stmt->execute();
$results = $stmt->fetchAll();

我遇到了上面提到的错误,但我终究无法弄清楚原因。

我确定我只有 2 个变量要绑定(bind),而且我确实绑定(bind)了这两个变量。

当我用每个条件单独执行此操作时,即 WHERE 1 = 1 AND Suburb = :suburbWHERE 1 = 1 AND Name LIKE\'%:name%\' 我没有任何错误。

虽然这两个条件中的后者不返回任何结果,但是当我在 MySQL Workbench 中测试它时,它按我预期的那样工作。

任何人都可以阐明这个问题吗?

最佳答案

当使用占位符值时,重要的是不要在查询中进行任何转义。值本身应该是裸值,如果您对使用占位符值有纪律,PDO 将为您处理转义。

这样指定:

"...name LIKE :name..."

然后你这样绑定(bind):

$stmt->bindValue(':name', "%$name%");

关于php - PDO 对象 : Invalid parameter number: number of bound variables does not match number of tokens,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37370432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com