Bonjour,
J'ai un formulaire qui contient plusieurs champs, tous sont des clés étrangères. Le problèmes c'est que je ne peux pas faire d'insertion, à condition que tous les champs soient remplis, or je ne veux pas qu'ils soient obligatoires, je les ai mis en NULL dans phpMyAdmin, mais ça ne change rien.
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
 
if (isset($_POST['valider']))
	{ 	
$nom_contact=$_SESSION['nom_contact'];
				echo $nom_contact;
 
    		$reponse = $bdd->query("SELECT * FROM structure WHERE nom_contact='$nom_contact'");
			$donnees = $reponse->fetch(PDO::FETCH_ASSOC);	
			$id_struct=$donnees['id_struct'];
			while ($donnees = $reponse->fetch(PDO::FETCH_ASSOC))
				 if ($donnees["id_struct"]==$id_struct)	
			$id_struct=$donnees['id_struct'];	
 
				$nationalite=$_POST['nationalite'];
				$statut_conflit=$_POST['statut_conflit'];
				$etat=$_POST['etat'];
				//$sepulture=$_POST['id_sepulture'];
				$sexe=$_POST['sexe'];
				$age=$_POST['age'];
				$particularite=$_POST['particularite'];
				$confession=$_POST['confession'];
				$institution=$_POST['institution'];
				$administrative=$_POST['administrative'];
	                        $aide_sociale=$_POST['aide_sociale'];
	                         $date_ajout = date('Y-m-d H:i:s'); 
 
PRINT_r($_POST).'<br />';
$bdd->exec("INSERT INTO categorisation VALUES (null,'$id_struct','$nationalite','$statut_conflit','$etat','4','$sexe','$age','$particularite','$confession','$institution','$administrative','$aide_sociale','$date_ajout',NULL)") or print_r($bdd->errorInfo());	
 
}
Si un seul champ n'est pas rempli, j'ai cette erreur (par exp pour le premier champ 'nationalité') :
Incorrect integer value: '' for column 'id_nationalite' at row 1