Partage
  • Partager sur Facebook
  • Partager sur Twitter

[MySQL] Bug DATE_FORMAT

SQLSTATE[42000]: Syntax error or access violation: 1064

Sujet résolu
    20 février 2012 à 21:10:42

    Voici la requête qui me pose problème :


    <?php
    $req = $bdd->prepare('SELECT Pseudo, Contenu, DATE_FORMAT(Date, %d/%m/%Y %Hh%imin%ss) FROM commentaire WHERE Affichage= 1 AND Article = :id_article ORDER BY Id DESC LIMIT :min , :max');
    $req->bindValue('min', ($page_actuel -1)*10 , PDO::PARAM_INT);
    $req->bindValue('max', ($page_actuel -1)*10 + 10 , PDO::PARAM_INT);
    $req->bindValue('id_article' , $id , PDO::PARAM_INT);
    $req->execute();
    ?>
    

    Ceci me renvoi l'erreur MySQl suivante :

    Citation : MySQL

    Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%d/%m/%Y %Hh%imin%ss) FROM commentaire WHERE Affichage= 1 AND Article = '1' ORDE' at line 1


    J'ai aussi essayer sous cette forme:
    <?php //%d/%m/%Y %Hh%imin%ss devient '%d/%m/%Y %Hh%imin%ss'
    $req = $bdd->prepare('SELECT Pseudo, Contenu, DATE_FORMAT(Date, '%d/%m/%Y %Hh%imin%ss') FROM commentaire WHERE Affichage= 1 AND Article = :id_article ORDER BY Id DESC LIMIT :min , :max');
    $req->bindValue('min', ($page_actuel -1)*10 , PDO::PARAM_INT);
    $req->bindValue('max', ($page_actuel -1)*10 + 10 , PDO::PARAM_INT);
    $req->bindValue('id_article' , $id , PDO::PARAM_INT);
    $req->execute();
    ?>
    

    Mais cette fois c'est php qui m'indique une erreur sur la 1ere ligne.

    Ceci est mon premiere essai avec les date fais a l'aide du tuto de M@teo21
    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      20 février 2012 à 22:41:24

      Ben la 2e solution est la bonne, sauf qu'il faut échapper les ' à l'interieur de la requête. Ca se voit à la coloration. Donc cherche comment on échappe un caractère en PHP
      • Partager sur Facebook
      • Partager sur Twitter
        20 février 2012 à 22:45:54

        de tete l'echappement s'est avec "\" ^^
        merci
        ps: en plus la coloration je l'ai vu le pb ... j'y ai vraiment pas penser ^^
        • Partager sur Facebook
        • Partager sur Twitter

        [MySQL] Bug DATE_FORMAT

        × 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