Jointure INSERT

Fermé
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 22 févr. 2015 à 15:48
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 22 févr. 2015 à 15:51
Bonjour
J'ai créé 2 tables
La première table "tb_adherent"
id_adherent
nom
prenom
la deuxième table "tb_gestion_admin"
id_gestion_admin
rid_adherent (clé étrangère)
membre
sortie
Je souhaite faire un INSERT, je vous montre ce que j'ai déjà fait si vous pouvez m'aider à me dire ce qui ne va pas car l'INSERT (jointure) dans la deuxième table ne ce fait pas, l'INSERT dans la table "tb_adherent" ce fait bien, donc c'est bien cette histoire de jointure qui me pose problème.
Attention je n'ai pas mis tous les champs ci-dessus.....c'est pour faire plus court.
Voilà ce que j'ai déjà fait
Requète INSERT de la première table
Récupération du dernier id inséré
Requète INSERT de la deuxième table
Je vous remercie pour votre aide éventuel.
	public function InsertMembre() {
		$sql = "INSERT INTO tb_adherent(nom, prenom, email, pseudo, password, actif, debut, fin)
				VALUES(:nom, :prenom, :email, :pseudo, :password, :actif, :debut, :fin)";
		$requete = $this->bdd->prepare($sql);
		$success = $requete->execute(array(
						'nom' 		=> $this->nom,
						'prenom' 	=> $this->prenom,
						'email' 	=> $this->email,
						'pseudo' 	=> $this->pseudo,
						'password' 	=> $this->password,
						'actif' 	=> $this->actif,
						'debut' 	=> $this->debut,
						'fin' 		=> $this->fin,
						));
		
		$rid_adherent = $this->bdd->lastInsertId();
		
		$sql2 = "INSERT INTO tb_gestion_admin(rid_adherent, aucune_gestion, membre, sortie, enseignement, calendrier)
				VALUES(:rid_adherent, :aucune_gestion, :membre, :sortie, :enseignement, :calendrier)";
		$requete = $this->bdd->prepare($sql2);
		$success = $requete->execute(array(
						'rid_adherent' 		=> $this->rid_adherent,
						'aucune_gestion' 	=> $this->aucune_gestion,
						'membre' 			=> $this->membre,
						'sortie' 			=> $this->sortie,
						'enseignement' 		=> $this->enseignement,
						'calendrier' 		=> $this->calendrier,
						));
		return $success;
	}

1 réponse

papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 3
Modifié par papyclic le 22/02/2015 à 15:51
J'ai oublié de vous montrer l'erreur retournéé
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`monsite`.`tb_gestion_admin`, CONSTRAINT `tb_gestion_admin_ibfk_3` FOREIGN KEY (`rid_adherent`) REFERENCES `tb_adherent` (`id_adherent`) ON DELETE CASCADE ON UPDATE CASCADE)' in C
0