Problèmes de format de date PHP MySQL
Lors de l'utilisation du sélecteur de date jQuery avec un format spécifié (par exemple, "25/08/2012"), l'insertion de la date sélectionnée dans une base de données MySQL en tant que valeur de date peut entraîner des erreurs et afficher la valeur par défaut "0000-00-00 00:00:00" à la place.
Raison :
Selon la documentation de MySQL, MySQL reconnaît les valeurs de date dans des formats spécifiques, notamment « AAAA-MM-JJ » ou 'AA-MM-JJ'. Le format utilisé par le sélecteur de date jQuery ('08/25/2012') n'est pas directement reconnu par MySQL.
Solutions :
Il existe plusieurs façons de résoudre ce problème. problème :
1. Utilisez AltField pour convertir le format :
Configurez le sélecteur de date pour fournir les dates dans un format pris en charge à l'aide des options "altField" et "altFormat". Cela crée un champ masqué qui contient la date au format souhaité.
2. Utilisez la fonction STR_TO_DATE() de MySQL :
Cette fonction peut convertir la chaîne reçue en une valeur de date MySQL valide. Utilisez-le comme suit :
INSERT INTO user_date VALUES('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
3. Convertir la date en objet PHP DateTime :
Utilisez l'objet DateTime de PHP pour convertir la chaîne reçue dans un format de date que PHP comprend.
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
4. Manipuler la chaîne manuellement :
Si aucune des options ci-dessus ne fonctionne, vous pouvez manipuler manuellement la chaîne reçue en un littéral de date MySQL valide.
$parts = explode('/', $_POST['date']); $date = "$parts[2]-$parts[0]-$parts[1]";
Attention :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!