Requet sql qui ne fonctionne plus

Résolu/Fermé
Profil bloqué - 17 avril 2010 à 10:50
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 - 17 avril 2010 à 13:44
Voila, je fais un livre d'or qui tourne sous wamp. J'ai une page de formulaire qui me recupere les informations puis les traite avant de les inserere en base de donner.
le traitement fonctionne bien mais arriver au sql, la j'ai un plantage et je ne parviens pas a voir de quoi il s'agit.

voila la code que j'avais:

$sql = "INSERT INTO livre VALUES ('', '0', '0', '".$visible."', '".$nom."', '".$prenom."', '".$rue."', '".$codepostal."', '".$ville."', '".$telephone."', '".$mail."', '".$iptext."', '".$message."', '', '', '".$date_msg."', '".$acc_ch."', '".$acc_val."', '".$ani_ch."', '".$ani_val."', '".$cdt_ch."', '".$cdt_val."')";



puis j'ai demander a wamp de me faire le code d'insretion mysql qu'il desire ce qui m'a donner cela:

$sql = "INSERT INTO 'a6201429_anim'.'livre' ('id', 'vue', 'rang', 'visible', 'nom', 'prenom', 'rue', 'code', 'ville', 'tel', 'mail', 'ip', 'mes', 'avis', 'mes_or', 'date', 'acc_ch', 'acc_val', 'ani_ch', 'ani_val', 'cdt_ch', 'cdt_val') VALUES (NULL, \'0\', \'0\', \'".$visible."\', \'".$nom."\', \'".$prenom."\', \'".$rue."\', \'".$codepostal."\', \'".$ville."\', \'".$telephone."\', \'".$mail."\', \'".$iptext."\', \'".$message."\', \'\', \'\', \'".$date_msg."\', \'".$acc_ch."\', \'".$acc_val."\', \'".$ani_ch."\', \'".$ani_val."\', \'".$cdt_ch."\', \'".$cdt_val."\');";



mais aucun des deux ne marche.

avez vous une idée de pourquoi cela ne fonctinne pas?

(avant j'utilisais un code en get pour les erreur mais le textarea ne gardais pas les retour a la ligne d'ou la bidouille avec le formulaire invisible dans les if pour un retour au traitement.
Avec les info reecrit dans l'adresse (get) cela fonctionnais mais depuis que j'ai placer les champ de formulaire, l'insertion ne fonctionne plus.)

et pour ceux qui veulent le code complet (336 lignes) le voici:
(a telecharger)
http://www.miroriii.com/fichier/99/220574/traitement-php.html

merci de votre aide

4 réponses

gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
17 avril 2010 à 12:23
Bonjour,

vérifie si tu as bien 22 champs dans ta table 'livre' et si tes variable sont bien au bon typage pour rentrer dans ta base ! Vérifie aussi si ta BDD accepte la valeur NULL car certaines variable peuvent avoir cette valeur.

Si tu ne trouve toujours pas, tu peux faire un echo de ta requête de façon à avoir la requête avec les valeurs en clair. Ensuite tu copie et colle la requête toute prête dans MYSQL et l'éxécute. Tu verra l'erreur en clair ! :-)

Bon courage.

A+
Gaerebut
0
Profil bloqué
17 avril 2010 à 12:42
Salut Gaerebut,
j'ai effectivement les 22 champs.
et apres modification, j'ai reussie a changer d'erreur :p

voila le code utiliser:

$sql = "INSERT INTO 'a6201429_anim'.'livre' ('id', 'vue', 'rang', 'visible', 'nom', 'prenom', 'rue', 'code', 'ville', 'tel', 'mail', 'ip', 'mes', 'avis', 'mes_or', 'date', 'acc_ch', 'acc_val', 'ani_ch', 'ani_val', 'cdt_ch', 'cdt_val') VALUES ('', 0, 0, ".$visible.", ".$nom.", ".$prenom.", '".$rue."', ".$codepostal.", ".$ville.", ".$telephone.", '".$mail."', '".$iptext."', '".$message."', '', '', '".$date_msg."', ".$acc_ch.", ".$acc_val.", ".$ani_ch.", ".$ani_val.", ".$cdt_ch.", ".$cdt_val.");";

ou des ' on été rajouter lorsqu'il me donnait des erreurs

voila du coup le code afficher:

?INSERT INTO 'a6201429_anim'.'livre' ('id', 'vue', 'rang', 'visible', 'nom', 'prenom', 'rue', 'code', 'ville', 'tel', 'mail', 'ip', 'mes', 'avis', 'mes_or', 'date', 'acc_ch', 'acc_val', 'ani_ch', 'ani_val', 'cdt_ch', 'cdt_val') VALUES ('', 0, 0, 1, Poisson, Stanislas, 'La pierre', 85440, Avrille, 0625480683, 'zairakai@hotmail.fr', 'Message retranscrits depuis le Livre d or manuscrit du magasin', 'et voila un message sur une ligne', '', '', 'Samedi 17 Avril 2010 .', 1, 5, 1, 3, 1, 1);

et voila l'erreur:

Unknown column 'Poisson' in 'field list'

or poisson est une valeur a rajouter dans le champ nom.
0
Profil bloqué
17 avril 2010 à 12:46
trouver, je ne sais pas pourquoi mais les \' empechait l'injection de fonctionner. une fois rajouter partout cela fonctionne.

Merci de votre aide.
0
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
17 avril 2010 à 13:44
Re,

c'est parce que Poisson ne contenait pas d'apostrophe !


ravis que tu est trouvé par toi même !
Procède comme ça maintenant pour tracker tes erreur ;-)

A+
Gaerebut
0