Salut,

J'ai un petit soucis, j'ai un message d'erreur de type :
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails
que je n'arrive pas à résoudre.
Voici le code et les captures de ma bdd. Je souhaiterai simplement enregistrer les données dans ma bdd ce qui fonctionnait (très mal ) avant que je mette en place les clés étrangères. J'ai tenté plusieurs solutions mais rien n' y fait. Si vous avez une idée ? c'est avec plaisir :-)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
//gestion des erreurs
try{
//Connection à la base de données
$bdd = new PDO('mysql:host=localhost; dbname=xxxxx; charset=utf8',  'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}catch (Exception $e){
	die('Erreur : '.$e->getMessage());
}
 
//Enregistrement des données saisies dans la table client
$req = $bdd -> prepare('INSERT INTO client(civilite, nom, prenom, adresse, codePostal, ville) VALUES (?, ?, ?, ?, ?, ?)');
$req->execute(array($_POST['civilite'], 
					$_POST['nom'], 
					$_POST['prenom'], 
					$_POST['adresse'], 
					$_POST['codePostal'], 
					$_POST['ville']));
 
// enregistrement des données saisies dans la table devis
$req = $bdd -> prepare('INSERT INTO devis(dateDevis, typeChantier, adresseChantier, villeChantier) VALUES (?, ?, ?, ?)');
$req->execute(array($_POST['dateDevis'], 
					$_POST['typeChantier'], 
					$_POST['adresseChantier'], 
					$_POST['villeChantier']));
 
// Enregistrement des données saisies dans la table typetravaux
$req = $bdd -> prepare ('INSERT INTO typetravaux(detail1, designation1, montantTotal, quantite1, quantite2, quantite3, quantite4, quantite5) VALUES (?, ?, ?, ?, ?, ?, ?, ?)');
$req->execute(array($_POST['detail1'],
					$_POST['designation1'],
					$_POST['montantTotal'],
					$_POST['quantite1'],
					$_POST['quantite2'],
					$_POST['quantite3'],
					$_POST['quantite4'],
					$_POST['quantite5']));
 
//redirection visiteur
header ('Location: index.php');
 
 
?>
Nom : Capture.PNG
Affichages : 442
Taille : 43,2 Ko
Nom : Capture1.PNG
Affichages : 408
Taille : 44,2 Ko