Merci pour votre aide. Bonne journée
Bonjour,
Voila je rencontre un petit problème avec mon code.
Ce que je fais
Je voulais inserer dans ma table "mission" des données provenant des autres tables à l'aide des "clès etrangères"
Ma requete sql:
Ce que je veux
Décrivez ici ce que vous cherchez à obtenir
Ce que j'obtiens
Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (allandikbd.mission, CONSTRAINT mission_ibfk_1 FOREIGN KEY (id_vehicule) REFERENCES vehicule (immatricule))' in C:\wamp\www\allandik\parc_vehicule.php:147 Stack trace: #0 C:\wamp\www\allandik\parc_vehicule.php(147): PDOStatement->execute(Array) #1 {main} thrown
5 réponses
Euhh il y a quelques problèmes dans ton code !
Comment sont construites tes tables ?
Dans ton insert into, tu attend id_vehicule et ton paramètre est 'matricule'=>$matricule (est ce que c'est l'id de ta table vehicule ?)
Non c'est pas l'id de la table vehicule.
table mission : [id_mission], id_vehicule et id_chauffeur se sont mes clès etrangeres, date_debut , date_fin, etat ,detail .
table chauffeur : [nim_permis],nom,prenom...
table vehicule : [ immatricule],marque...
Normalement si tu veux enregistrer dans ta table mission l'id de véhicule et chauffeur, il faut passer en paramètre ces ID ! (si les champs sont bien des INT)
exemple :
Là je te donne juste le raisonnement à toi de réfléchir !!!!
Merci j'ai ressolu l'erreur. En faite le problème c'est que mes 2 variables ne reçoivent pas les valeurs : $matricule=htmlspecialchars($_POST["matricule"]); et $permis=htmlspecialchars($_POST["permis"]);
Donc au niveau de mon boucle while, j'ai mis :
""
while ($donneesAM = $matri->fetch()){
echo '<option value="' , $donneesAM['immatricule'] , '">' , stripslashes(htmlentities(trim($donneesAM['immatricule']))) , '</option>';
}
""
Merci et bonne soirée.