Formulaire : La requête MySQL n'est pas exécutée [Résolu]

Signaler
Messages postés
22
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
24 août 2005
-
Messages postés
22
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
24 août 2005
-
Bonjour,



J'ai un petit problème avec un formulaire que je fais pour mon site.

En fait le formulaire est sur une page, en ensuite envoie vers une autre page, en php.

Les informations sont ensuite stockées dans une base MySQL (je teste d'abord en local).



Le problème est le suivant :

Quand je valide le formulaire, il change de page et affiche que tout
s'est bien déroulé. Je consulte la base SQL, et ... aucun
enregistrement!



Voici le code de la page (j'ai juste enlevé les en-tête avec le titre, le style en css etc etc) :



<?

$pseudo = $_POST["pseudo"];

$nom = $_POST["nom"];

$prenom = $_POST["prenom"];

$birthdate = $_POST["birthdate"];

$nomparents = $_POST["nomparents"];

$email = $_POST["email"];

$adresse = $_POST["adresse"];

$codepostal = $_POST["codepostal"];

$ville = $_POST["ville"];

$pays = $_POST["pays"];

$telephone = $_POST["telephone"];

$horaires = $_POST["horaires"];

$deplacement = $_POST["deplacement"];

$connexiondown = $_POST["connexiondown"];

$connexionup = $_POST["connexionup"];

$nombrepc = $_POST["nombrepc"];

$configpc = $_POST["configpc"];

$nomemission = $_POST["nomemission"];

$horaireemissiondebut = $_POST["horaireemissiondebut"];

$horaireemissionfin = $_POST["horaireemissionfin"];

$jouremission = $_POST["jouremission"];

$animateur = $_POST["animateur"];

$producteur = $_POST["producteur"];

$descriptionprojet = $_POST["descriptionprojet"];

$outilcommunication = $_POST["outilcommunication"];

$detailpageemission = $_POST["detailpageemission"];

$datetestsouhait = $_POST["datetestsouhait"];

$datediffusionsouhait = $_POST["datediffusionsouhait"];

$notabene = $_POST["notabene"];

$db = mysql_connect('localhost', 'root', '');

mysql_select_db('futuradio',$db);

$requete = "INSERT INTO
postulation(pseudo,nom,prenom,birthdate,nomparents,email,adresse,codepostal,ville,pays,telephone,horaires,deplacement,connexiondown,connexionup,nombrepc,configpc,nomemission,horaireemissiondebut,horaireemissionfin,jouremission,animateur,producteur,descriptionprojet,outilcommunication,detailpageemission,datetestsouhait,datediffusionsouhait,notabene)
VALUES('$pseudo','$nom', '$prenom', '$birthdate', '$nomparents',
'$email', '$adresse', '$codepostal', '$ville', '$pays', '$telephone',
'$horaires', '$deplacement', '$connexiondown', '$connexionup',
'$nombrepc', '$configpc', '$nomemission', '$horaireemissiondebut',
'$horaireemissionfin', '$jouremission', '$animateur', '$producteur',
'$descriptionprojet', '$outilcommunication', '$detailpageemission',
'$datetestsouhait', '$datediffusionsouhait', '$notabene')";

$result = mysql_query($requete, $db);

?>


Votre postulation a bien été prise en compte. Une
réponse vous parviendra dans les plus brefs délais.






Qu'est-ce qui ne va pas ?



Merci beaucoup ? (PS : Je suis supra-novice ^^)

11 réponses

Messages postés
368
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

En effet un petit exemple vaut mieux qu'un long discours, ex :



$query = mysql_query("SELECT prenom FROM membres") or die('ERREUR SQL : '.mysql_error());
Messages postés
368
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Par exemple avant d'executer ta requete tu fais un truc de ce genre :


$pseudo = htmlentities ($_POST['pseudo'],ENT_QUOTES);


etc..etc..etc...
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

Peux tu mettre ta requete de maniere a ce quelle soit lisible assez facilement.



affiche ta requete est non pas la construction. (simple quote peut etre présente dans tes valeurs)

mets error_reporting(E_ALL) au début du script PHP ( au moins, on aura un indice quand a l'erreur)

teste ta requete construite dans phpMyAdmin ( il indique la premiere erreur )




"They are 10 sorts of persons whose understand binary and whose not"
Messages postés
22
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
24 août 2005

Quand je mets error_reporting(E_ALL), il affiche rien de plus.

Quand je tape la requête dans phpmyadmin, ça marche perfect !

Alors à mon avis j'ai tapé un truc de trop dans le script .. mais quoi?
Messages postés
22
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
24 août 2005

Quelqu'un peut m'aider ? :(
Messages postés
368
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Rajoute un or die("ERREUR SQL".mysql_error()); à ta requete, tu comprendras ce qu'il vas pas
Messages postés
22
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
24 août 2005

et heu, je mets a quel endroit exactement ce bout de code ?



désolé je suis vraiment ultra débutant !
Messages postés
22
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
24 août 2005

J'ai trouvé ! Le formulaire accepte pas les ' sur les adresses et autres !



Merci beaucoup ;)



(Au fait, comment enlever automatiquement les ' ?)
Messages postés
368
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Utilise la fonction : http://fr.php.net/htmlentities

Messages postés
22
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
24 août 2005

Heu mais apparemment ca s'utilise avec les "echo" non ?

Mais moi je veux pas afficher la requête ;) Je veux que ca envoie la requete SQL mais juste sans les ' et "

C'est possible simplement?
Messages postés
22
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
24 août 2005

Ha oki merci merci merci ;)