Problème Date

Résolu
LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   -  
LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour, j'ai un problème que je n'arrive pas à résoudre. Après avoir sélectionner un lien qui doit me retourner une date au lieu de ça voici l'erreur retournée.

Erreur ! SQLSTATE[HY000]: General error: 1525 Incorrect DATE value: '01/09/2024'

Pourtant le format de la date est bonne. Je vous remercie pour votre aide.

Merci

10 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour,

    je pense qu'il faut adapter le code PHP de la page.

    0
  2. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     

    Bonjour, j'ai une fonction qui retourne la date dans un autre format : AAAA-MM-JJ => JJ/MM/AAAA (mysql => web) mais cela m'a créé cette erreur, mais lorsque je supprime cette fonction cela me renvoie au format Mysql (ci joint une capture)

    Erreur ! SQLSTATE[HY000]: General error: 1525 Incorrect DATE value: '01/09/2024'

    Je ne vois pas ce que je peux faire de plus sur ma page? Une question étant donné que je travail en local il y aurai pas un probléme avec la configuration Mysql? je suis avec la version 8.0.31.

    Merci pour votre aide.

    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      Cette fonction est écrite dans quel langage?

      0
  3. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     

    Bonjour, en PHP

    function dm2w($date) { $tab = explode("-",$date); return $tab[2]."/".$tab[1]."/".$tab[0]; }
    0
  4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     

    bonjour 

    vu le message d'erreur, le problème se produit au moment de l'exécution d'une requête SQL...

    hors..., en SQL, les dates doivent être écrites au format anglais et non en français....


    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     

    je souhaiterai formater justement la date sql en format français pour mon affichage.

    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       

      a l'affichage ok.. mais là.. ce n'est pas à l'affichage que tu as l'erreur... 

      pour l'affichage, tu porras, dans ta requête sql, faire un date_format

      https://www.w3schools.com/sql/func_mysql_date_format.asp

      pour ce qui est de ton message d'erreur actuel, ne voyant pas le code concerné, nous ne pourrons pas t'aider davantage....

      0
  7. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     

    Bonjour après avoir testé ma requète SQL dans phpmyadmin je ne comprends pas pourquoi j'ai un retour NULL, ci dessous une capture.

    Je vous remercie.

    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      C'est pourtant clairement écrit: incorrect datetime value: 'ddebut'.

      Pour t'aider à comprendre, essaye

      select 'ddebut' from bag_gerer
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       

      ddebut est le nom d'une colonne ....  pas un "string" ...  il ne faut donc pas le mettre entre quotes

      0
  8. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     

    Bonjour, merci maintenant je vais adapter DATE_FORMAT à ma requète SELECT.

    0
  9. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     

    Bonjour, j'ai encore un soucis concernant ma requète avec DATE_FORMAT un soucis d'erreur de syntaxe, voici l'erreur et la requète.

    Je vous remercie.

    Erreur ! SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de 'FROM bag_gerer WHERE idpers = '14' AND idfonc = '3' AND dde' à la ligne 1
    $sql = "SELECT DATE_FORMAT(ddebut, '%d/%m/%Y') * FROM bag_gerer
    WHERE idpers = :idpers
    AND idfonc = :idfonc
    AND ddebut = :ddebut
    AND dfin IS NULL";
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      C'est bizarre de faire cette requête si tu connais la valeur de ddebut.

      Tu peux faire plutôt:

      select date_format(:ddebut,"%d/%m/%Y");

      Peux-tu montrer un peu plus de code, jusqu'à l'appel à la base de donnée?

      0
  10. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     

    Bon... 

    En partant du principe que la variable associée à :ddebut  est bien au format anglais (Y-m-d ) ( sinon tu auras encore le message d'erreur que tu nous as montré dans ton premier message...

    Ta requête devrait ressembler à ceci:

    $sql = "SELECT DATE_FORMAT(BG.ddebut, '%d/%m/%Y') as DDEBUT_FR
                   ,BG.* 
            FROM bag_gerer BG
            WHERE BG.idpers = :idpers
              AND BG.idfonc = :idfonc
              AND BG.ddebut = :ddebut
              AND BG.dfin IS NULL";

    0
  11. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     

    Bonjour un grand merci tout est parfait.

    0