Maison > développement back-end > tutoriel php > Comment insérer correctement les dates d'un jQuery Datepicker dans une base de données MySQL ?

Comment insérer correctement les dates d'un jQuery Datepicker dans une base de données MySQL ?

Linda Hamilton
Libérer: 2024-11-28 07:15:12
original
386 Les gens l'ont consulté

How to Properly Insert Dates from a jQuery Datepicker into a MySQL Database?

PHP mysql insérer le format de date

Lors de l'utilisation d'un sélecteur de date jQuery avec un format 'MM/JJ/AAAA' pour insérer des dates dans un base de données MySQL, vous pouvez rencontrer des erreurs avec la date insérée stockée sous la forme « 0000-00-00 00:00:00 ». Ce problème se produit car le format « MM/JJ/AAAA » n'est pas reconnu comme un littéral de date valide par MySQL.

Selon la documentation MySQL sur les littéraux de date et d'heure, MySQL reconnaît les valeurs DATE dans les formats suivants :

  • 'AAAA-MM-JJ' ou 'AA-MM-JJ' (avec ou sans délimiteurs comme '/', '-' ou '.')
  • 'AAAAMMJJ' ou 'AAMMJJ' (sans délimiteurs)
  • Chiffres au format AAAAMMJJ ou AAMMJJ, s'ils ont un sens comme dates

À résoudre ce problème, vous pouvez explorer les options suivantes :

  1. Utiliser Objet DateTime de PHP pour convertir la date :

Créez un objet DateTime à partir de la chaîne jQuery datepicker :

$date = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
Copier après la connexion

Ensuite, formatez la date dans un format pris en charge :

$date_string = $dt->format('Y-m-d');
Copier après la connexion
  1. Utilisez STR_TO_DATE() de MySQL function :

Convertissez la chaîne du sélecteur de date jQuery dans un format compatible MySQL à l'aide de la fonction STR_TO_DATE() :

INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
Copier après la connexion
  1. Manipulez manuellement le string :

Divisez la chaîne du sélecteur de date jQuery en parties pour le mois, jour et année, puis créez une chaîne compatible MySQL :

$parts = explode('/', $_POST['date']);
$mysql_date = "$parts[2]-$parts[0]-$parts[1]";
Copier après la connexion
  1. Configurez le sélecteur de date jQuery :

Configurez le sélecteur de date pour afficher dates dans un format pris en charge en utilisant dateFormat ou altField altFormat options :

$( "selector" ).datepicker({
    dateFormat: "yyyy-mm-dd"
});
Copier après la connexion

ou

$( "selector" ).datepicker({
    altField: "#actualDate"
    altFormat: "yyyy-mm-dd"
});
Copier après la connexion

Attention :

Il est important de se protéger contre l'injection SQL en utilisant des instructions préparées. De plus, envisagez d'utiliser le type de données DATE dans MySQL pour stocker les dates, car il est spécialement conçu à cet effet.

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