Créer un enregistrement SQL via PHP

Fermé
siddMA Messages postés 240 Date d'inscription dimanche 5 juin 2011 Statut Membre Dernière intervention 14 novembre 2014 - 24 juin 2013 à 23:20
siddMA Messages postés 240 Date d'inscription dimanche 5 juin 2011 Statut Membre Dernière intervention 14 novembre 2014 - 24 juin 2013 à 23:41
Bonjour,

j'ai un script Php qui est censé créer un enregistrement à partir d'un formulaire. Toutefois, une le formulaire rempli et le script lancé via "Submit", il m'affiche "Merci pour votre inscription" (=tout est OK). Mais quand je vais sur PHP MyAdmin, ma table affiche toujours 0 enregistrements. D'où vient le problème ? Voilà une partie de mon code PHP :

/*connexion a la BDD*/
            try
            {
                $bdd = new PDO('mysql:host=************.db.113****.host*****urce.com;dbname=*********', '***********', '*****');
            }
            catch (Exception $e)
            {
	        die('Erreur : ' . $e->getMessage());
            }
 
            /* on teste l'adresse email, si c'est bon, on continue, sinon, on affiche un message d'erreur*/
            if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}.[a-z]{2,4}$#", $_POST['mail']))
            {
                /*on verifie si un membre ne possede pas deja le meme pseudo*/
                $req = $bdd->prepare('SELECT id FROM membres WHERE pseudo = :pseudo');
	        $req->execute(array('pseudo'=> $_POST['pseudo']));
	        $nb_resultats_recherche_membre=$req->fetch();
 
                if(!$nb_resultats_recherche_membre) /*si il n'y a pas de resultat*/
                {
                    /*on crypte le mot de passe*/
                    $mdp = sha1($_POST['pass1']);
 
                    /*Si le pseudo est libre et l'email valide, alors on enregistre le nouveau membre*/
                    $req=$bdd->prepare('INSERT INTO membres (Pseudo, Pass, Email) VALUES(:Pseudo, :Pass, :Email,');
                    $req->execute(array('Pseudo'=>$_POST['pseudo'], 'Pass'=>$mdp, 'Email'=>$_POST['mail']));
 
                    echo "Merci de votre inscription";
                }
                else
                {
                    echo "Un membre possede deja ce pseudo"


Merci d'avance !




A voir également:

4 réponses

graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 974
24 juin 2013 à 23:23
pense a insérer un or die(mysql_error()); à la fin de ta requete pour que mysql te renvoie l' erreur.
0
siddMA Messages postés 240 Date d'inscription dimanche 5 juin 2011 Statut Membre Dernière intervention 14 novembre 2014 52
24 juin 2013 à 23:28
Merci pour ta réponse ! Je suis débutant en SQL, tu pourrais m'indiquer l'endroit exact où injecter ce code ? :)
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 974
24 juin 2013 à 23:30
Je ne suis pas a jour avec PDO, hélas, mais regarde, j' ai dit une betise, mysql_error est has been avec PDO:

https://openclassrooms.com/forum/sujet/fonctions-et-requete-pdo-53725
0
siddMA Messages postés 240 Date d'inscription dimanche 5 juin 2011 Statut Membre Dernière intervention 14 novembre 2014 52
24 juin 2013 à 23:41
Je me base sur le SDZ quand je suis pas sûr aussi. Mais en l'occurence c'est un problème fantôme :(
0