【发布时间】:2012-07-09 14:49:57
【问题描述】:
就在最近,我转而在 PHP/MySQL 中使用 PDO 并转换了几十个查询。他们中的大多数都可以工作,但是这个非常简单的方法会在$sql->execute() 处引发异常@
$sql=$pdo->prepare("SELECT id FROM user WHERE username = :username LIMIT 1");
$sql->execute(array(':username',$username));
PDOStatement::execute() pdostatement.execute SQLSTATE[HY093]: Invalid parameter number: 绑定变量数与...中的标记数不匹配
经过研究,我找到了这个链接:https://bugs.php.net/bug.php?id=60515
...因此尝试将查询更改为
$sql=$pdo->prepare("SELECT `id` FROM `user` WHERE `username` = :username LIMIT 1");
$sql->execute(array(':username',$username));
但结果还是一样。有没有人看到明显的错误或者为什么这个查询在所有其他人都没有工作时不起作用?
非常感谢您!
【问题讨论】:
-
“PDO - 无效的参数号虽然它是正确的”。不,这是不正确的。
-
@Lion:是的,你是对的……已经改了标题……我瞎了,谢谢你的帮助!