Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: Malib
Ce topic a été résolu
Auteur Sujet: Faire plusieurs entrée dans une BDD

Malib

Messages: 79

Voilà je voulais savoir, à la fin de l'inscription je voudrais faire une autre requete pour une nouvelle entrée et de futurs à venir:
voici mon code:

   $insertmembre = $bdd->prepare("INSERT INTO membre (pseudo,mail,mdp,confirmekey,point,planete) VALUES (?, ?, ?, ?,?,?)");/* Enregistre une entrée dans la BDD */
   $insertmembre->execute(array($pseudo, $mail, $mdp, $key, 0, $planete));
                                                                        
                                                                        
                                                                                                                                                
   $header="From: Confirmation du compte de $pseudo <[email protected]>\nMime-Version:";
   $header.='Content-Type:text/html; charset="uft-8"'."\n";
   $header.='Content-Transfer-Encoding: 8bit';
   $message='
   <html>
   <body>
   <div align="center">
   <a href="http://apprendre.esy.es/portail/modele/confirmation_mail.php?pseudo=' .urlencode($pseudo).'&key='.$key.'">Confirmer votre compte</a>
   </div>
   </body>
   </html>
   ';
   mail($mail, "Message bloqué par Gmail mais fonctionnel", $message, $header);
                                                                           
   $correct = "Votre compte a bien eté crée.";
                                                                  
}
else /*Si il depasse le nombre de caractères */
   {
      $erreur = " Le mot de passe doit contenir entre 6 et 20 caractères.";
   }                                                                  

et je voulais donc rajouter cette ligne :

   $insertplanete = $bdd->prepare("INSERT INTO planete (id_membre,nom_planete,batiment_1) VALUES (?, ?, ?)");/* Enregistre une entrée dans la BDD */
   $insertplanete->execute(array($id_membre,$nom_planete,1));
je l'ai mise en dessous du mail cela ne fonctionnait pas et ni en dessous de la requete instermembre. Je voulais donc savoir est ce que je dois faire un if après le mail? merci
Publicité

Dwardower

Messages: 121

Bonjour Malib, pour votre solution vous pouvez mettre ceci
 mail($mail, "Message bloqué par Gmail mais fonctionnel", $message, $header);
 $insertplanete = $bdd->prepare("INSERT INTO planete (id_membre,nom_planete,batiment_1) VALUES (?, ?, ?)");/* Enregistre une entrée dans la BDD */
 $insertplanete->execute(array($id_membre,$nom_planete,'1'));
J'ai mis le 1 entre guillemet car dans certains cas il bloque, si cela ne marche toujours pas, essayez de changer votre batiment_1 par batiment_a dans votre table car il se peut que votre requete php ne comprenne pas pourquoi il y a un 1 dans la requete "prepare"

Malib

Messages: 79

d'accord, mais sinon donc je peux en empiler les une en dessous des autres sans problème?

Dwardower

Messages: 121

Oui, en changeant le nom de la requête évidement Clin d'oeil

Malib

Messages: 79

Oui evidemment ^^ Bon je test!

Malib

Messages: 79

J'ai une erreur, l'inscription fonctionne mais l'entrée dans la table planete ne fonctionne pas. j'essaie plusieurs choses en attendant. 

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'id_membre' cannot be null' in /home/u218634216/public_html/portail/modele/inscription.php:58 Stack trace: #0 /home/u218634216/public_html/portail/modele/inscription.php(58): PDOStatement->execute(Array) #1 /home/u218634216/public_html/portail/vue/page_inscription.php(94): include('/home/u21863421...') #2 {main} thrown in/home/u218634216/public_html/portail/modele/inscription.php on line 58

C'est bon, j'avais oublié de définir les variables ^^ donc problème réglé! Tire la langue

Dwardower

Messages: 121

Ravis d'avoir aidé Clin d'oeil

Malib

Messages: 79

Merci à toi!

Malib

Messages: 79

Dwardower serrais tu disponibles sur le chat rapidement? ^^


Veuillez vous connecter ou créer un compte pour poster une réponse