【发布时间】:2014-10-01 14:55:50
【问题描述】:
我收到错误消息:
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in /var/www/calendar/insert.php on line 17
但我不明白我做错了什么。
我有一个使用 6 个绑定的 INSERT 语句,我正在绑定 6,那么不匹配在哪里?
代码
插入
$stmt = $dbh->prepare("INSERT INTO bookings (forename, surname, badge, department, start, end) VALUES (:forename, :surname, :badge, :department, STR_TO_DATE(:dp1,'%Y-%m-%d'), STR_TO_DATE(:dp2,'%Y-%m-%d'))");
绑定
foreach ($_POST as $key => $value) {
$stmt->bindParam('$key', $value);
echo "Binding $key as $value <br>";
}
哪个输出:
Binding forename as John
Binding surname as Doe
Binding badge as 1
Binding department as Days
Binding dp1 as 2014-10-06
Binding dp2 as 2014-10-10
【问题讨论】:
-
不应该
'$key'只是$key吗?