J'envoie ma requête sql mais rien ne s'affiche sur phpmyadmin

Résolu
Ozufox Messages postés 8 Statut Membre -  
Ozufox Messages postés 8 Statut Membre -
Bonjour ou bonsoir comme vous voulez. mais pour moi, il est 03h16 du matin et ça fait 2 heure que mon site beug.

Je crée un site de rencontre et tout fonctionne normalement (variable POST ect... ) et quand vient le moment de la requête sql, elle s'éexcute sans erreur mais sur phpmyadmin, il n'y a rien...

pourriez-vous m'aider ?

Voici le code source de ma page d'envoie des variables vers la base de donnée :
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="MAX.css" />
</head>
<body>

<?php
echo $_POST['Nom_complet'] . $_POST['username'] . $_POST['age'] . $_POST['Sexe'] . $_POST['ori_sex'] . $_POST['email'] . $_POST['Bio'] . $_POST['type_r'] . $_POST['password'] . $_POST['instagram'];

//condition de test de connexion à la base de donnée
try
{
$bdd = new PDO('mysql:host=localhost;dbname=Site_de_rencontre;charset=utf8', 'root', 'root');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

$req = $bdd->prepare ('INSERT INTO DB_love(Nom_complet, username, age, Sexe, ori_sex, email, bio, type_r, password, instagram, date) VALUES (:Nom, :username, :age, :sexe, :ori_sex, :email, :bio, :type_r, :password, :instagram, NOW())');
$req->execute(array($_POST['Nom_complet'], $_POST['username'], $_POST['age'], $_POST['Sexe'], $_POST['ori_sex'], $_POST['email'], $_POST['Bio'], $_POST['type_r'], $_POST['password'], $_POST['instagram']));

?>
<br>
<br>
<br>
<br>
</body>
</html>

et aussi un screen de mon phpmyadmin de la table de la batabase :

3 réponses

  1. Ozufox Messages postés 8 Statut Membre
     
    Je précise qu'il n'y a n'y erreur de connection, ni erreur dans les variable post puisqu'elles s'affichent (d'oû le echo)
    0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour
    Commence par ça
    https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

    A noter que, dans ton prépare tu as utilisé des variables nommées => :truc
    mais que dans ton execute, tu as juste passé un array comme si tu avais mis des ?

    Il te faut donc choisir,
    Soit, dans ton execute, tu passes un array associatif :nomvariable=>$valeur
    Soit, dans ton prépare, tu utilises des ? au lieu des :truc

    NB: A l'avenir, pour poster du code sur le forum, penses à utiliser les balises de code
    https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

    0
  3. Ozufox Messages postés 8 Statut Membre
     
    Ok merci pour ta réponse mais cela ne règle pas le problème, j''hésite à recommencer le code mais bon...

    j'ai utiliser les ? et cela ne fonctionne tjr pas...
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      As-tu appliqué les conseils donnés dans le lien ?
      Si oui, montre-nous le code modifier et précise nous le message d'erreur qui doit désormais s'afficher
      0
    2. Ozufox Messages postés 8 Statut Membre > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Voilà le code modifier :


      
      <!DOCTYPE html>
      <html>
      <head>
      <link rel="stylesheet" href="MAX.css" />
      </head>
      <body>
      
      
      
      
      
      
      
        <?php
        echo $_POST['Nom_complet'] . $_POST['username'] . $_POST['age'] . $_POST['Sexe'] . $_POST['ori_sex'] . $_POST['email'] . $_POST['Bio'] . $_POST['type_r'] .  $_POST['password'] . $_POST['instagram'];
      
      
      
        //condition de test de connexion à la base de donnée
        try
          {
          	$bdd = new PDO('mysql:host=localhost;dbname=Site_de_rencontre;charset=utf8', 'root', 'root');
      
      
            // Activation des erreurs PDO
         $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH
         $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
          }
          catch(Exception $e)
          {
                  die('Erreur : '.$e->getMessage());
          }
      
      
      
            $req = $bdd->prepare ('INSERT INTO DB_love(Nom_complet, username, age, Sexe, ori_sex, email, bio, type_r, password, instagram, date) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW())');
            $req->execute(array($_POST['Nom_complet'], $_POST['username'], $_POST['age'], $_POST['Sexe'], $_POST['ori_sex'], $_POST['email'], $_POST['Bio'], $_POST['type_r'], $_POST['password'], $_POST['instagram']));
      
      
      
      
      
      
      
      
      
      
      ?>
      <br>
      <br>
      <br>
      <br>
      </body>
      </html>
      
      
      



      et voici l'erreur pdo que j'obtiens :

      Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1364 Field 'aime-prof' doesn't have a default value in /Applications/MAMP/htdocs/Jean/post1.php:41 Stack trace: #0 /Applications/MAMP/htdocs/Jean/post1.php(41): PDOStatement->execute(Array) #1 {main} thrown in /Applications/MAMP/htdocs/Jean/post1.php on line 41
      0
    3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > Ozufox Messages postés 8 Statut Membre
       
      Et bien, le message d'erreur est clair..
      Tu dois soit renseigner une valeur pour le champ
      aime-prof dans ta requête sql ... Soit lui définir une valeur par défaut au niveau de ta bdd
      0
    4. Ozufox Messages postés 8 Statut Membre > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Croyez-vous que cela suffise si je retire aime-prof de ma bdd?
      0
    5. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > Ozufox Messages postés 8 Statut Membre
       
      Ca corrigera au moins ce souci...
      0