Bonjour,
Je viens d'arriver en plein développement d'un logiciel avec interface Web passant par PHP/MySQL et je suis tombé sur une erreur / bug / bizarrerie gênante.
Dans le cadre de la création d'une commande, on veut avoir à disposition la date de passage de cette commande. La colonne destinée à recevoir la chose est un varchar(15) et le code y fait un INSERT => Now()+0.
L'appli a été testée et fonctionne sous Mac, sous PC/Apache 2 et PC/IIS 5 avec PHP 5 et un serveur MySQL 5.0 community Max en local.
Bref partout où on en a besoin, sauf chez moi : je me récolte une Fatal Error pour cause de "Data too long for column". Le problème a rapidement été identifié et analysé, on a trouvé des dizaines de solutions possibles (utilisation de CURDATE() à la place, entourer avec un left(..., n), etc...) la vraie question est : qu'est-ce qui peut bien faire que ce Now()+0 qui partout ailleurs donne un entier (20061019120455) renvoie chez moi un float (20061019120455.00000) ?
Merci d'avance de vos réponses...
Partager