Problème Date

Résolu
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 - 1 nov. 2024 à 08:23
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 - 3 nov. 2024 à 07:09

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

A voir également:

10 réponses

yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 Ambassadeur 1 557
1 nov. 2024 à 10:50

bonjour,

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

0
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 32
1 nov. 2024 à 16: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
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
1 nov. 2024 à 19:56

Cette fonction est écrite dans quel langage?

0
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 32
1 nov. 2024 à 21:04

Bonjour, en PHP

function dm2w($date) { $tab = explode("-",$date); return $tab[2]."/".$tab[1]."/".$tab[0]; }
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
1 nov. 2024 à 21:07

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

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

Posez votre question
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 32
1 nov. 2024 à 21:56

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

0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
2 nov. 2024 à 08:55

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
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 32
2 nov. 2024 à 14:18

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
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
Modifié le 2 nov. 2024 à 14:50

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

Pour t'aider à comprendre, essaye

select 'ddebut' from bag_gerer
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
2 nov. 2024 à 15:04

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

0
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 32
2 nov. 2024 à 15:52

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

0
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 32
2 nov. 2024 à 19:42

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
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
Modifié le 2 nov. 2024 à 20:31

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
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
Modifié le 2 nov. 2024 à 21:20

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
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 32
3 nov. 2024 à 07:09

Bonjour un grand merci tout est parfait.

0