Partage
  • Partager sur Facebook
  • Partager sur Twitter

[General error]PHP et base de donnée MySQL

difficulté pour créer un système d'articles

Sujet résolu
    26 septembre 2021 à 12:05:03

    Bonjour, 

    J'essaye de créer un système d'articles sur mon site toutefois je rencontre une difficulté. Je suis novice en code et je ne comprends pas quoi faire. Merci de votre aide ! :)

    <?php
    $bdd = new PDO('mysql:host=localhost:3306; dbname=articles; charset=utf8', 'root', 'root', array(PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION));
    if(isset($_POST['article_titre'], $_POST['article_contenu'])) {
       if(!empty($_POST['article_titre']) AND !empty($_POST['article_contenu'])) {
          
          $article_titre = htmlspecialchars($_POST['article_titre']);
          $article_contenu = htmlspecialchars($_POST['article_contenu']);
          $ins = $bdd->prepare('INSERT INTO articles (titre, contenu, date_time_publication) VALUES (?, ?, NOW())');
          $ins->execute(array($article_titre, $article_contenu));
          $message = 'Votre article a bien été posté';
       } else {
          $message = 'Veuillez remplir tous les champs';
       }
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
       <title>Rédaction</title>
       <meta charset="utf-8">
    </head>
    <body>
       <form method="POST">
          <input type="text" name="article_titre" placeholder="Titre" /><br />
          <textarea name="article_contenu" placeholder="Contenu de l'article"></textarea><br />
          <input type="submit" value="Envoyer l'article" />
       </form>
       <br />
       <?php if(isset($message)) { echo $message; } ?>
    </body>
    </html>

    Voici le message d'erreur qui m'est indiqué : 

    Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1364 Field 'id' doesn't have a default value in C:\MAMP\htdocs\Sprint\Sprint\redaction.php:9 Stack trace: #0 C:\MAMP\htdocs\Sprint\Sprint\redaction.php(9): PDOStatement->execute(Array) #1 {main} thrown in C:\MAMP\htdocs\Sprint\Sprint\redaction.php on line 9


    Quelle valeur dois-je donner à mon id ?



    • Partager sur Facebook
    • Partager sur Twitter
      26 septembre 2021 à 12:14:47

      Tout à fait, je n'ai pas fait attention !

      merci beaucoup !!

      • Partager sur Facebook
      • Partager sur Twitter
        26 septembre 2021 à 19:24:36

        Bonsoir,

        N'oublie pas de virer ces htmlspecialchars qui n'ont rien a faire ici mais à l'affichage. cf signature

        Celui t'évitera bien des soucis par la suite

        La ligne 3 ne sert a rien car la fonction isset est incluse dans la fonction empty

        • Partager sur Facebook
        • Partager sur Twitter

        [General error]PHP et base de donnée MySQL

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown