[英]ERROR: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
[英]SQL ERROR: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
在数据库中,我有 id 作为主键和这 8 个元素,这是我的整个代码和 ofc 我有 SQLSTATE [HY093] 形式的名称:无效参数编号:绑定变量的数量与令牌的数量不匹配
<?php
require_once 'dbh.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['име'];
$lastname = $_POST['презиме'];
$company = $_POST['компанија'];
$email =$_POST['емаил'];
$number =$_POST['број'];
$workers= $_POST['employees'];
$sectors= $_POST['sector'];
$text=$_POST['порака'];
$form= [
"име" => $name,
"презиме" => $lastname,
"компанија" => $company,
"емаил" => $email,
"број" => $number,
"employees"=> $workers,
"sector" => $sectors,
"порака" => $text
];
$sql= "INSERT INTO form (name,lastname,company,email,number,workers,sector,text)
VALUES (:име,:презиме,:компанија,:емаил,:број,:employees,:sector,:порака)";
try {
$statement = $pdo->prepare($sql);
$statement->bindValue(':име',$name);
$statement->bindValue(':презиме',$lastname);
$statement->bindValue(':компанија',$company);
$statement->bindValue(':емаил',$email);
$statement->bindValue(':број',$number);
$statement->bindValue(':employees',$workers);
$statement->bindValue(':sector',$sectors);
$statement->bindValue(':порака',$text);
$statement->execute();
$form= $pdo->lastInsertId();
header("location: register.php?id=$form");
die();
} catch (Exception $e) {
echo $e->getMessage();
}
};
?>
尝试将6poj
重命名为以字母开头的名称。
我以前发生过类似的事情,我很确定您是否要将字符串用作数组的键,它们不应该以数字开头,在本例中6poj
。 我认为最终发生的事情是它被读取为 6,导致第六个元素被设置两次,数组中只剩下 7 个项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.