La Table t_lien_visiteur_type contient que ces 2 champs là qui sont des clés étrangèe d'autre tables (c'est une table de liaison, d'où son nomà
Dans mon controler, toutes les variables du post sont initialisé, le visiteur est ajouté à la base de données et l'idTypeDeVisiteur a bien une valeur existante... Cependant voici le message que j'ai :
Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`registre_visiteur_v2`.`t_lien_visiteur_type`, CONSTRAINT `t_lien_visiteur_type_ibfk_1` FOREIGN KEY (`ID_Visiteur`) REFERENCES `t_visiteur` (`ID_Visiteur`)) in C:\wamp64\www\Registre_Visiteurs\Registre des visiteurs - Classe\Model\Model.php:258 Stack trace: #0 C:\wamp64\www\Registre_Visiteurs\Registre des visiteurs - Classe\Model\Model.php(258): PDOStatement->execute(Array) #1 C:\wamp64\www\Registre_Visiteurs\Registre des visiteurs - Classe\Controler\enregistrerDemande.php(24): addLienVisiteurType(62, 1) #2 {main} thrown in C:\wamp64\www\Registre_Visiteurs\Registre des visiteurs - Classe\Model\Model.php on line 258
Je ne comprends pas.... Car la requête est exactement la même que dans le projet déjà existant et cela fonctionne...
Si qqun peut m'aider svp...
- Edité par lindadu01 14 novembre 2019 à 12:32:01
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
Je ne connais le lastinserid(), j'irai voir ca cet après midi ou après la mise en production lors de la phase d'optimisation et du passage en MVC avec des classes.
Pour les clés étrangères, oui c'est le cas puisque si le visiteur n'existe pas, on le créé juste avant donc il existe forcement et pour le type de visiteur, il existe aussi, j'ai vérifié et dans la BDD et via un var dump (à l'affichage on affiche les champs directement mais je rajouterai une verification pour voir si on n'est pas aller modifier le nom du type et qu'il devient introuvable mais là n'est pas le problème actuel car les 2 valeurs existes...
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
dans ton premier post, le code de la fonction addLienVisiteurType, les marqueurs ne correspondent pas
pourquoi ne passes-tu pas la connexion PDO en arguments pour n'en établir/utiliser qu'une au lieu d'en recréer une à chaque appel de méthode :/
- Edité par julp il y a 3 minutes
Merci Julp, je n'avais pas vu...
Je regarderai qu'est-ce que le typehinting. Concernant la connexion PDO, c'est prévu (comme créer des classe aussi) que je le fasse mais disons que je dois faire rapidement et je prend le temps de bien comprendre le MVC avant de faire ca
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
[PDO] Erreur de contrainte Clé Etrangère
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)