Heim > Backend-Entwicklung > PHP-Tutorial > Wie füge ich mit PHP Daten aus jQuery Datepicker korrekt in MySQL ein?

Wie füge ich mit PHP Daten aus jQuery Datepicker korrekt in MySQL ein?

Susan Sarandon
Freigeben: 2024-11-28 08:36:15
Original
720 Leute haben es durchsucht

How to Correctly Insert Dates from jQuery Datepicker into MySQL Using PHP?

Einfügen von Datumsformaten in MySQL mit PHP

Beim Arbeiten mit der MySQL-Datenbank ist es wichtig, Datumswerte beim Einfügen korrekt zu formatieren. Ein häufiges Problem ist das Einfügen von Datumsangaben im falschen Format, was zu Datenbankfehlern führt.

Problem:

Sie verwenden die jQuery-Datumsauswahl, die Datumsangaben in „MM“ zurückgibt Format „/TT/JJJJ“. Allerdings erwartet MySQL Datumsangaben in bestimmten Formaten, beispielsweise „JJJJ-MM-TT“, „JJ-MM-TT“ oder „JJJJMMTT“. Das Einfügen von Datumsangaben im falschen Format führt dazu, dass „0000-00-00 00 00 00“ eingefügt wird.

Lösung:

Es gibt mehrere Möglichkeiten, dieses Problem zu beheben :

  • Verwenden Sie altField und altFormat des Datepickers Optionen: Konfigurieren Sie die Datumsauswahl so, dass Datumsangaben in einem unterstützten Format bereitgestellt werden, indem Sie die Optionen altField und altFormat festlegen. Zum Beispiel:
<input type="hidden">
Nach dem Login kopieren
  • Konvertieren Sie die Zeichenfolge mit der MySQL-Funktion STR_TO_DATE(): Konvertieren Sie die von jQuery empfangene Datumszeichenfolge in ein gültiges MySQL-Format mit der Funktion STR_TO_DATE( ) Funktion:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
Nach dem Login kopieren
  • PHPs verwenden DateTime-Klasse: Konvertieren Sie die Zeichenfolge in ein PHP-DateTime-Objekt und erhalten Sie dann eine geeignet formatierte Zeichenfolge oder einen UNIX-Zeitstempel:
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
$date = $dt->format('Y-m-d'); // Formatted string
$timestamp = $dt->getTimestamp(); // UNIX timestamp
Nach dem Login kopieren
  • Manipulieren Sie die Zeichenfolge manuell: Teilen Sie die Datumszeichenfolge manuell in ihre Bestandteile auf und setzen Sie sie korrekt zusammen Format:
$parts = explode('/', $_POST['date']);
$date = "$parts[2]-$parts[0]-$parts[1]";
Nach dem Login kopieren

Achtung:

  1. SQL-Injection vermeiden: Stellen Sie sicher, dass Sie vorbereitete Anweisungen verwenden, um SQL zu verhindern Injektionsschwachstellen.
  2. Verwenden Sie den Typ DATE anstelle von DATETIME oder TIMESTAMP:Der Typ DATE wird zum Speichern reiner Datumswerte ohne Zeitkomponenten empfohlen.

Zusätzliche Hinweise:

  • Die mysql_*-Funktionen sind in PHP 5.5.0 veraltet und sollten durch mysqli oder PDO_MySQL ersetzt werden Erweiterungen.
  • Die Funktion STR_TO_DATE() erfordert, dass die Systemvariable date_format auf das entsprechende Format zum Parsen der Datumszeichenfolge eingestellt wird.

Das obige ist der detaillierte Inhalt vonWie füge ich mit PHP Daten aus jQuery Datepicker korrekt in MySQL ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage