Maison >développement back-end >tutoriel php >Comment puis-je corriger les incohérences du format d'insertion de date PHP MySQL ?

Comment puis-je corriger les incohérences du format d'insertion de date PHP MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-27 09:29:11865parcourir

How Can I Fix PHP MySQL Date Insertion Format Mismatches?

Incompatibilité de format de date d'insertion PHP MySQL

Lors de l'insertion de dates dans une base de données MySQL à l'aide de PHP, il est crucial de s'assurer que le format de date correspond aux attentes de la base de données.

MySQL reconnaît les dates dans des formats spécifiques, notamment 'AAAA-MM-JJ' ou 'AA-MM-JJ'. Cependant, lors de l'insertion d'une date telle que '25/08/2012' à l'aide du code suivant :

mysql_query("INSERT INTO user_date VALUE( '', '$name', '$date')")

la base de données insère '0000-00-00 00 00 00'. Cela se produit parce que MySQL interprète l'entrée comme une chaîne et non comme une date littérale.

Options de solution

Il existe plusieurs options pour résoudre ce problème de format de date :

  • Utiliser JavaScript Datepicker AltField : Spécifiez un champ alternatif pour stocker la date dans le champ souhaité format.
  • Convertir la chaîne avec STR_TO_DATE() : Utilisez la fonction STR_TO_DATE() pour convertir la chaîne dans un format de date reconnu par MySQL avant de l'insérer.
  • Utilisez l'objet PHP DateTime : Créez un objet DateTime à partir de la chaîne, puis formatez-le selon vos besoins avant insertion.
  • Formater manuellement la chaîne : Analyser la chaîne d'entrée et créer manuellement un littéral de date MySQL valide.

Avertissement

Avant de continuer, assurez-vous que votre code est protégé contre l'injection SQL et envisagez d'utiliser des instructions préparées au lieu du mysql_* obsolète. fonctions. De plus, envisagez d'utiliser le type DATE pour stocker des dates sans informations d'heure.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn