PHP не соответствует базе данных MYSQL - PullRequest
0 голосов
/ 02 апреля 2020

Я не могу исправить эту ошибку в php. Помогите мне пожалуйста.

Ошибка PHP: SQLSTATE [HY093]: Неверный номер параметра: количество связанных переменных не соответствует количеству токенов

    //INIZIALIZZO LE TRANSAZIONI DEL DATABASE
            $this->PDO->beginTransaction();
            $query = "INSERT INTO dipendente(nome,cognome,email,nato_a,indirizzo,num_civico,cap,num_tel_personale,num_tel_azienda,data_nascita)
            VALUES(:nome,:cognome,:email,:nato_a,:indirizzo,:num_civico,:cap,:num_tel_personale,:num_tel_azienda,:data_nascita)";

            $richiesta_query = $this->PDO->prepare($query);
            $richiesta_query->bindParam(":nome",$dati_array['nome'], PDO::PARAM_STR);
            $richiesta_query->bindParam(":cognome",$dati_array['cognome'], PDO::PARAM_STR);
            $richiesta_query->bindParam(":email", $dati_array['email'], PDO::PARAM_STR);
            $richiesta_query->bindParam(":nato_a",$dati_array['nato_a'], PDO::PARAM_STR);
            $richiesta_query->bindParam(":indirizzo",$dati_array['indirizzo'], PDO::PARAM_STR);
            $richiesta_query->bindParam(":num_civico",$dati_array['numero_civico'], PDO::PARAM_STR);
            $richiesta_query->bindParam(":cap",$dati_array['cap'], PDO::PARAM_INT);
            $richiesta_query->bindParam(":num_tel_personale",$dati_array['num_tel_personale'], PDO::PARAM_INT);
            $richiesta_query->bindParam(":num_tel_azienda",$dati_array['num_tel_aziendale'], PDO::PARAM_INT);
            $richiesta_query->bindParam(":data_nascita",$dati_array['data_nascita'], PDO::PARAM_STR);
            $richiesta_query->execute();

    $query = "INSERT INTO contratto2(assunzione_contratto,tipo_contratto,fk_id_dipendente) VALUES(?,?,?)";

          $richiesta_query->execute(array($dati_array['assunzione_contratto'],
                                          $dati_array['tipo_contratto'],
                                          $id_nuovo_dipendente));
           //$richiesta_query->execute();
           DIE("NO ERR");
        $this->PDO->commit();

    return TRUE;
    }catch(PDOException $e) {
      $this->PDO->rollback();
      echo "Errore : ";
      echo "<br />Message : ".$e->getMessage();
      echo "<br />Message : ".$e->getline();
      echo "<br />Message : ".$e->getFile();
    } //END CATCH
  } //END FUNCTION

} //END CLASS

My База данных My Database INNODB

...