Maison > base de données > tutoriel mysql > Comment insérer correctement les dates de jQuery DatePicker dans une base de données MySQL à l'aide de PHP ?

Comment insérer correctement les dates de jQuery DatePicker dans une base de données MySQL à l'aide de PHP ?

Susan Sarandon
Libérer: 2024-12-08 16:10:12
original
388 Les gens l'ont consulté

How to Correctly Insert Dates from jQuery DatePicker into a MySQL Database Using PHP?

Format de date incorrect pour l'insertion PHP MySQL

Lorsque vous utilisez le sélecteur de date de jQuery pour saisir des dates dans une base de données à l'aide de la fonction mysql_query de PHP, il est crucial de vous assurer que le format de date suit les conventions MySQL.

MySQL Date Formats

Comme indiqué dans la documentation MySQL, les formats de date valides pour l'insertion dans une base de données MySQL incluent :

  • 'AAAA-MM-JJ' ou 'AA-MM- JJ' avec ou sans délimiteurs
  • 'AAAAMMJJ' ou 'AAMMJJ' dans un format numérique
  • A Horodatage UNIX transmis à la fonction FROM_UNIXTIME() de MySQL

Erreur avec la date '08/25/2012'

Dans le code donné, le sélecteur de date est défini sur le format « 25/08/2012 », qui n'est pas reconnu par MySQL comme un littéral de date valide. Cela entraîne l'insertion de seulement '0000-00-00 00 00 00' dans la base de données.

Solutions

Pour remédier à ce problème, vous avez plusieurs options :

  1. Configurer le sélecteur de date : Définir Datepicker pour fournir des dates dans un format pris en charge à l'aide des options altField et altFormat.
  2. Utilisez la fonction STR_TO_DATE : Convertissez la chaîne de date jQuery à l'aide de la fonction STR_TO_DATE() de MySQL.
  3. Convertir la date en PHP : Convertissez manuellement la chaîne en une date valide dans PHP en utilisant, par exemple, un objet DateTime.
  4. Analyser la date manuellement : Divisez la chaîne de date en ses composants et assemblez-la dans un format MySQL valide.

Injection SQL Vulnérabilité

Il est important de noter que le code PHP fourni est vulnérable à l'injection SQL. Pensez à utiliser des instructions préparées pour éviter ce risque de sécurité.

Fonctions mysql_* obsolètes

De plus, les fonctions mysql_* sont obsolètes en PHP et il est recommandé de les remplacer par l'un ou l'autre extensions mysqli ou PDO_MySQL.

Considérez DATE Tapez

Enfin, envisagez d'utiliser le type MySQL DATE au lieu des colonnes DATETIME ou TIMESTAMP pour stocker les valeurs de date sans composants temporels.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal