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 105 Date d'inscription vendredi 24 juin 2011 Statut Membre Dernière intervention 16 décembre 2023 - 15 avril 2020 à 22:19
polarbird Messages postés 105 Date d'inscription vendredi 24 juin 2011 Statut Membre Dernière intervention 16 décembre 2023 - 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
A voir également:

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
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 105 Date d'inscription vendredi 24 juin 2011 Statut Membre Dernière intervention 16 décembre 2023 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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
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 105 Date d'inscription vendredi 24 juin 2011 Statut Membre Dernière intervention 16 décembre 2023 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