Partage
  • Partager sur Facebook
  • Partager sur Twitter

date dans requête update

Sujet résolu
    18 juillet 2019 à 10:02:29

    Bonjour à tous,

    J'ai cette requête SQL qui fonctionne, elle permêt de modifier un commentaire (exercice cours sur PHP) :

    public function editComment($commentId, $author, $comment)
        {
            $db = $this->dbConnect();
            $newComment = $db->prepare('UPDATE comments SET author=?, comment=? WHERE id = ?');
            $changedComment = $newComment->execute(array($author, $comment, $commentId));
    
            return $changedComment;
        }

    Actuellement s'affiche la date de création du commentaire, j'aimerai que ce soit la date de modification. Sauf que je vois pas comment insérer la date dans la requête :

    public function editComment($commentId, $author, $comment)
        {
            $db = $this->dbConnect();
            $newComment = $db->prepare('UPDATE comments SET author=?, comment=? comment_date=NOW() WHERE id = ?');
            $changedComment = $newComment->execute(array($author, $comment, $commentId));
    
            return $changedComment;
        }

    Si je fais ainsi, j'ai une erreur car le array de $newComment ne correspond plus car $author remplace author=?, $comment remplace comment=?, et ensuite $commentId est sencé remplacer le WHERE id =?, mais le fait d'ajouter comment_date=NOW() décale la requète. J'ai essayer de mettre un espace vide dans le array mais cela ne fonctionne pas.

    Pour les requètes INSERT INTO il n'y a pas de soucis car le VALUE est à la fin et il suffit de mettre la date à la fin, mais la je vois pas.

    Merci d'avance pour vos réponse     Bonne journée


    • Partager sur Facebook
    • Partager sur Twitter
      18 juillet 2019 à 10:33:13

      Bonjour,

      JonatanBuzek a écrit:

      Si je fais ainsi, j'ai une erreur car le array de $newComment ne correspond plus

      Tu as d'abord une erreur de syntaxe ... il manque une virgule entre le marqueur de comment et le nom de colonne de la date ...

      UPDATE comments
      SET author=?, comment=?, comment_date=NOW()
      WHERE id = ?

      Je ne suis pas certain qu'il y ait d'autre problème ...

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        18 juillet 2019 à 10:41:50

        Effectivement il manquait une virgule .... :-°>_<:)

        Merci et bonne journée !!

        • Partager sur Facebook
        • Partager sur Twitter

        date dans requête update

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown