Problème pour insérer une date (jour et mois) avec un zéro initial en PHP/MySQL

Résolu/Fermé
polarbird
Messages postés
93
Date d'inscription
vendredi 24 juin 2011
Statut
Membre
Dernière intervention
29 décembre 2020
- 15 avril 2020 à 22:19
polarbird
Messages postés
93
Date d'inscription
vendredi 24 juin 2011
Statut
Membre
Dernière intervention
29 décembre 2020
- 20 avril 2020 à 19:15
Bonsoir à tous,

Je rencontre une problème assez singulier, en effet, lorsque je veux rentrer une date dans ma base de données MySQL, avec les zéros initiaux (exemple : 04 pour avril), ça ne marche pas et cela insère dans ma BDD le mois sans le zéro (4 pour avril).

Je me suis pourtant bien référé à la doc PHP en la matière, mais je dois bien dire que je sèche.

Je n'ai jamais eu ce problème en local, c'est apparu quand j'ai uploadé mon site, et je ne sais vraiment pas quoi faire.

Voici mon code, quand je fais un echo, ça me l'affiche bien avec le zéro, mais quand il faut l'entrer dans la BDD, le zéro a disparu.

Ça me le fait pour le mois et le jour.

Voici mon code sur la date :
$dft_updt0->bindParam(':mo', date('m', $post_n_dt), PDO::PARAM_INT);
$dft_updt0->bindParam(':dy', date('d', $post_n_dt), PDO::PARAM_INT);


et ici aussi

$mo = date('m');
$dy = date('d');


Merci d'avance pour votre aide

3 réponses

jordane45
Messages postés
36088
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 août 2022
4 295
16 avril 2020 à 00:13
Bonjour

une date dans une base de données MySQL ça se stocke dans un champs date ...pas dans des champs int... (Sauf cas très particulier mais très rares)
0
polarbird
Messages postés
93
Date d'inscription
vendredi 24 juin 2011
Statut
Membre
Dernière intervention
29 décembre 2020
1
16 avril 2020 à 12:05
Bonjour,

J'ai toujours appris à stocker mes timestamps dans des champs BIGINT(20).

Le champ DATE ça ne change pas le format ?

Merci
0
jordane45
Messages postés
36088
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 août 2022
4 295
Modifié le 16 avril 2020 à 12:12
Il existe les champs date et les champs timestamp... Pour stocker les dates.
Les champs int , bigint, float.. pour stocker les nombres
Les champs varchar, text... Pour le texte..

Bref chaque champ a son utilité pourquoi vouloir la détourner ?
0
polarbird
Messages postés
93
Date d'inscription
vendredi 24 juin 2011
Statut
Membre
Dernière intervention
29 décembre 2020
1
20 avril 2020 à 19:15
Merci ! Problème résolu. J'avais pris de mauvaises habitudes de codage, maintenant je m'en souviendrai ! ;)
0