SQL ОШИБКА: SQLSTATE [HY093]: недопустимый номер параметра: количество связанных переменных не соответствует количеству токенов - PullRequest
0 голосов
/ 03 мая 2020

В базе данных у меня есть идентификатор в качестве первичного ключа, и это 8 элементов, это весь мой код, и c У меня есть имена в форме 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();
        }
    };
?>

1 Ответ

0 голосов
/ 03 мая 2020

Попробуйте переименовать 6poj во что-то, начинающееся с буквы.

У меня было нечто подобное раньше, и я почти уверен, что вы собираетесь использовать строки в качестве ключей для массива, который они ' не следует начинать с цифры, в данном случае 6poj. Я думаю, что в конечном итоге происходит чтение 6, в результате чего шестой элемент устанавливается дважды, оставляя только 7 элементов в массиве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...