Inserer des données dans une table [Résolu]

Messages postés
45
Date d'inscription
mardi 28 janvier 2014
Dernière intervention
15 décembre 2015
- - Dernière réponse : jordane45
Messages postés
23588
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
- 6 févr. 2014 à 11:41
Bonjour,

je développe un site

quand j'envoie la requête pour insérer les données dans la base il ne marche pas.
voilà le code:
<?php 
/*$id= $_POST['id'];
*/$title= $_POST['title'];
$lieu= $_POST['lieu'];
$remuneration= $_POST['remuneration'];
$date=$_POST['Journaiss_star']."/".$_POST['Moisnaiss_star']."/".$_POST['annais_star'];
$categorie= $_POST['arts'];
$criDomArt= $_POST['castingCriDomArt'];
$criAgeFrom= $_POST['age_de'];
$criAgeTo= $_POST['age_de'];
$criSexe= $_POST['castingCriSexe'];
$objectif=$_POST['criObjectif'];
$criCorpulence=$_POST['star_corpulence'];
$criHairColor=$_POST['star_color_hair'];
$criTypeHair=$_POST['star_hair_type'];
$criSkinColor=$_POST['star_color_skin'];
$criEyesColor=$_POST['star_color_eye'];
$criTPFrom=$_POST['star_poitrine'];
$criTPTo=$_POST['star_poitrine'];
$criPoidsFrom=$_POST['star_weight'];
$criPoidsTo=$_POST['star_weight'];
$criTHFrom=$_POST['star_hanche'];
$criTHTo=$_POST['star_hanche'];
$criWeightFrom=$_POST['star_size'];
$criWeightTo=$_POST['star_size'];
$description = $_POST["description"];

/*la requete d'insertion des des donnees
*/ require('./connect/connect.php');
$sql= "insert into castings(title,lieu,remuneration,date,categorie,criAgeFrom,criAgeTo,criSexe,objectif,criCorpulence,criHairColor,criTypeHair,criSkinColor,criEyesColor,criTPFrom,criTPTo,criPoidsFrom,criPoidsTo,criTHFrom,criTHTo,criWeightFrom,criWeightTo,criWeightTo,)values('$title','$lieu','$remuneration','$date','$categorie','$criAgeFrom','$criAgeTo','$criSexe','$objectif','$criCorpulence','$criHairColor','$criTypeHair','$criSkinColor','$criEyesColor','$criTPFrom','$criTPTo','$criPoidsFrom','$criPoidsTo','$criTHFrom','$criTHTo','$criWeightFrom','$criWeightTo','$description','')";
mysql_query($sql,$link); 

 ?>
Afficher la suite 

Votre réponse

4 réponses

Messages postés
23588
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
0
Merci
Bonjour,

Déjà, tu peux faire un Echo de ta requête et t'assurer qu'elle est conforme à ce que tu attends.

Tu peux aussi faire un Print_r de tes variables POST pour voir si elles correspondent à ce que tu veux.

echo "Variables POST : <br>";
print_r($_POST);

$sql= "insert into castings(title,lieu,remuneration,date,categorie,criAgeFrom,criAgeTo,criSexe,objectif,criCorpulence,criHairColor,criTypeHair,criSkinColor,criEyesColor,criTPFrom,criTPTo,criPoidsFrom,criPoidsTo,criTHFrom,criTHTo,criWeightFrom,criWeightTo,criWeightTo,)values('$title','$lieu','$remuneration','$date','$categorie','$criAgeFrom','$criAgeTo','$criSexe','$objectif','$criCorpulence','$criHairColor','$criTypeHair','$criSkinColor','$criEyesColor','$criTPFrom','$criTPTo','$criPoidsFrom','$criPoidsTo','$criTHFrom','$criTHTo','$criWeightFrom','$criWeightTo','$description','')";

Echo "<br> Requete : <br>";
Echo $sql;

mysql_query($sql,$link); 


jordane45
Messages postés
23588
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
-
Au passage...si tu suis les recomandations que je t'ai donné tu consteras que tu as un virgule en trop dans ta requête....
Commenter la réponse de jordane45
Messages postés
45
Date d'inscription
mardi 28 janvier 2014
Dernière intervention
15 décembre 2015
0
Merci
quand je fais ces requête rien ne sort

echo "Variables POST : <br>";
print_r($_POST);

$sql= "insert into castings(title,lieu,remuneration,date,categorie,criAgeFrom,criAgeTo,criSexe,objectif,criCorpulence,criHairColor,criTypeHair,criSkinColor,criEyesColor,criTPFrom,criTPTo,criPoidsFrom,criPoidsTo,criTHFrom,criTHTo,criWeightFrom,criWeightTo,criWeightTo,)values('$title','$lieu','$remuneration','$date','$categorie','$criAgeFrom','$criAgeTo','$criSexe','$objectif','$criCorpulence','$criHairColor','$criTypeHair','$criSkinColor','$criEyesColor','$criTPFrom','$criTPTo','$criPoidsFrom','$criPoidsTo','$criTHFrom','$criTHTo','$criWeightFrom','$criWeightTo','$description','')";

Echo "<br> Requete : <br>";
Echo $sql;

mysql_query($sql,$link); 
jordane45
Messages postés
23588
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
-
Déjà..corrige ta requête : retire la virgule qui se trouve après criWeightTo:
criWeightTo,)values
Commenter la réponse de gbammelet
Messages postés
45
Date d'inscription
mardi 28 janvier 2014
Dernière intervention
15 décembre 2015
0
Merci
le print_r affiche :
Array ( [id] => [title] => GUIGLO TOURNE [lieu] => FRANCE [remuneration] => A négocier [Journaiss_star] => 07 [Moisnaiss_star] => 04 [annais_star] => 2016 [arts] => Mode / Beauté [castingCriDomArt] => Danseuse [age_de] => 10 [castingCriSexe] => H [criObjectif] => concert [star_corpulence] => Mince [star_color_hair] => Roux [star_hair_type] => Boucles [star_color_skin] => Noire [star_color_eye] => Bleus [star_poitrine] => 87 [star_weight] => 29 [star_hanche] => 88 [star_size] => 49 [description] => good )
Requete :
insert into castings(title,lieu,remuneration,date,categorie,criAgeFrom,criAgeTo,criSexe,objectif,criCorpulence,criHairColor,criTypeHair,criSkinColor,criEyesColor,criTPFrom,criTPTo,criPoidsFrom,criPoidsTo,criTHFrom,criTHTo,criWeightFrom,criWeightTo,criWeightTo)values('GUIGLO TOURNE','FRANCE','A négocier','07/04/2016','Mode / Beauté','10','10','H','concert','Mince','Roux','Boucles','Noire','Bleus','87','87','29','29','88','88','49','49','good','') mais rien ne va dans la base de donnée
Commenter la réponse de gbammelet
Messages postés
23588
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
0
Merci
Je ne vois pas d'erreur dans ta requête..
insert into 
castings
	(
	title
	,lieu
	,remuneration
	,date
	,categorie
	,criAgeFrom
	,criAgeTo
	,criSexe
	,objectif
	,criCorpulence
	,criHairColor
	,criTypeHair
	,criSkinColor
	,criEyesColor
	,criTPFrom
	,criTPTo
	,criPoidsFrom
	,criPoidsTo
	,criTHFrom
	,criTHTo
	,criWeightFrom
	,criWeightTo
	,criWeightTo
	)
values(
	'GUIGLO TOURNE'
	,'FRANCE'
	,'A négocier'
	,'07/04/2016'
	,'Mode / Beauté'
	,'10'
	,'10'
	,'H'
	,'concert'
	,'Mince'
	,'Roux'
	,'Boucles'
	,'Noire'
	,'Bleus'
	,'87'
	,'87'
	,'29'
	,'29'
	,'88'
	,'88'
	,'49'
	,'49'
	,'good'
	,''
)


Peux tu la tester en direct dans ta BDD ? ( via phpmyAdmin par exemple...)
jordane45
Messages postés
23588
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
-
Ah si... recompte le nombre de champs sur lesquels que essaies de mettre une valeur et compte le nombre de variables que tu envoies...
Tu as un écrat de 1...
Paraglider
Messages postés
35
Date d'inscription
mercredi 19 mars 2003
Dernière intervention
6 février 2014
-
Le problème vient du 4 eme champ "date" qui est aussi un mot réservé !
jordane45
Messages postés
23588
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
-
Paraglider, Non le souci ne vient surement pas de là.. d'ailleurs tu peux constater que la question avait été mise en résolu avant que tu ne proposes ta réponse...
Même si le mot 'date' est "normalement" un mot réservé.. rien ne t'empèche de nommer un champ de ta table ainsi.. (fais le test et tu constatera que ça ne pose aucun problème).

La solution à ce souci était simplement un écart entre le nombre de champs indiqués dans la requête et le nombre de valeurs qu'il essayait d'enregistrer... il avait une valeur en trop.
INSERT INTO Table1 (champ1,champ2,champ3) VALUES ('valeur1','valeur2','valeur3','valeur4')

Ce code plantera car j'ai une valeur de trop....
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.