PDO Mysql n'enregistre rien

Résolu/Fermé
Utilisateur anonyme - Modifié par Alien41 le 10/05/2011 à 12:59
shvan7 Messages postés 15 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 28 novembre 2015 - 5 juil. 2015 à 20:47
Bonjour, j'ai fait un script d'inscription en utilisant PDO, mais rien ne s'inscrit à la base de données pourtant mysql et php ne retournent aucune erreur :

  
 try { 
    $bdd = new PDO('mysql:host=localhost;dbname=xooty','root',''); 
    } 
   catch (PDOException $e) { 
    echo 'Un erreur est survenue, merci de contacter le webmaster...'; 
   } 
    
   $nom = htmlentities($_POST['nom']); 
   $prenom = htmlentities($_POST['prenom']); 
   $adresse = htmlentities($_POST['adresse']); 
   $ville = htmlentities($_POST['ville']); 
   $codepostal = htmlentities($_POST['codepostal']); 
   $email = htmlentities($_POST['email']); 
   $passe = htmlentities($_POST['password']); 
   $statut = htmlentities($_POST['statut']); 
    

    
   $req = $bdd->prepare('INSERT INTO membre(nom,prenom,adresse,ville,codeposte,email,passe,statut) VALUES(:nom,:prenom,:adresse,:ville,:codepostal,:email,:passe,:statut)'); 
   $req->execute(array( 
   'nom' => $nom, 
   'prenom' => $prenom, 
   'adresse' => $adresse, 
   'ville' => $ville, 
   'codepostal' => $codepostal, 
   'email' => $email, 
   'passe' => $passe, 
   'statut' => $statut 
   )); 
   echo'<center><b>Merci, vous êtes bien enregistré.</b><br><br><a href="index.php">Cliquez ici</a> pour revenir à l\'accueil afin de vous connecter sur votre espace membre.</center>'; 
   



Voila a la fin j'ai bien le message merci... mais rien ne s'inscrit à la base de données ?

Merci






4 réponses

Utilisateur anonyme
10 mai 2011 à 13:07
Essayez ça :

$bdd->prepare("NSERT INTO membre(nom,prenom,adresse,ville,codeposte,email,passe,statut) VALUES(':nom',':prenom',':adresse',':ville',':codepostal',':email',':passe',':statut')");
0
Utilisateur anonyme
10 mai 2011 à 13:11
Bonjour, merci mais non cela me met une erreur PHP...
0
Utilisateur anonyme
10 mai 2011 à 13:21
Quelle erreur ?

J'avais oublié le I de INSERT
$bdd->prepare("INSERT INTO membre(nom,prenom,adresse,ville,codeposte,email,passe,statut) VALUES(':nom',':prenom',':adresse',':ville',':codepostal',':email',':passe',':statut')");
0
Utilisateur anonyme
10 mai 2011 à 13:33
Oui je l'avais rajouté moi même mais sa me fou une erreur et d'après la coloration de ma syntaxe on ne doit pas mètre de guillemet
0
Utilisateur anonyme
10 mai 2011 à 13:44
Quelle erreur ?
0
Utilisateur anonyme
10 mai 2011 à 14:06
Une erreur comme quoi il ne faut pas mettre de guillemet sur :

(':nom',':prenom',':adresse',':ville',':codepostal',':email',':passe',':statut')
0
Utilisateur anonyme
10 mai 2011 à 14:08
Le message d'erreur complet serait le bienvenu
0
Utilisateur anonyme
10 mai 2011 à 14:14
Bon je me suis débrouillé sans tableau :

$bdd->exec('INSERT INTO membre(nom,prenom,adresse,ville,codepostal,email,passe,statut) VALUES(\''.$nom.'\', \''.$prenom.'\', \''.$adresse.'\', \''.$ville.'\', \''.$codepostal.'\', \''.$email.'\', \''.$passe.'\', \''.$statut.'\')');

Voila merci.
0
shvan7 Messages postés 15 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 28 novembre 2015 4
5 juil. 2015 à 20:47
bonjour, teste celui-ci

________________________________________________________
if(!empty($_POST)) {
try {
$bdd = new PDO('mysql:host=localhost;dbname=xooty','root','');
}
catch (PDOException $e) {
echo 'Une erreur est survenue, merci de contacter le webmaster...';
}

$nom = htmlspecialchars($_POST['nom']);
$prenom = htmlspecialchars($_POST['prenom']);
$adresse = htmlspecialchars($_POST['adresse']);
$ville = htmlspecialchars($_POST['ville']);
$codepostal = htmlspecialchars($_POST['codepostal']);
$email = htmlspecialchars($_POST['email']);
$passe = htmlspecialchars($_POST['password']);
$statut = htmlspecialchars($_POST['statut']);



$req = $bdd->prepare('INSERT INTO membre(nom,prenom,adresse,ville,codeposte,email,passe,statut) VALUES(:nom,:prenom,:adresse,:ville,:codepostal,:email,:passe,:statut)');
$req->execute(array(
'nom'=>$nom,
'prenom'=>$prenom,
'adresse'=>$adresse,
'ville'=>ville,
'codepostal'=>$codepostal,
'email'=>$email,
'passe'=>$passe,
'statut'=>$statut
));
}
echo'<center><b>Merci, vous êtes bien enregistré.</b><br><br><a href="index.php">Cliquez ici</a> pour revenir à l\'accueil afin de vous connecter sur votre espace membre.</center>';
$req->closeCursor();
__________________________________________________


Vaut mieux tard que jamais :p
0