繁体   English   中英

SQL 错误:SQLSTATE[HY093]:无效参数号:绑定变量数与令牌数不匹配

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM