Heim >Datenbank >MySQL-Tutorial >Wie füge ich Daten aus jQuery DatePicker mit PHP korrekt in eine MySQL-Datenbank ein?

Wie füge ich Daten aus jQuery DatePicker mit PHP korrekt in eine MySQL-Datenbank ein?

Susan Sarandon
Susan SarandonOriginal
2024-12-08 16:10:12430Durchsuche

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

Falsches Datumsformat für PHP-MySQL-Einfügung

Wenn Sie die Datumsauswahl von jQuery verwenden, um Daten mithilfe der mysql_query-Funktion von PHP in eine Datenbank einzugeben, müssen Sie unbedingt darauf achten dass das Datumsformat den MySQL-Konventionen folgt.

MySQL-Datum Formate

Wie in der MySQL-Dokumentation beschrieben, umfassen gültige Datumsformate zum Einfügen in eine MySQL-Datenbank:

  • 'JJJJ-MM-TT' oder 'JJ-MM- TT' mit oder ohne Trennzeichen
  • 'JJJJMMTT' oder 'JJMMTT' in einem numerischen Format
  • A UNIX-Zeitstempel, der an die FROM_UNIXTIME()-Funktion von MySQL übergeben wird

Fehler mit Datum „25.08.2012“

Im angegebenen Code ist die Datumsauswahl auf eingestellt das Format „25.08.2012“, das von MySQL nicht als gültiges Datumsliteral erkannt wird. Dies führt dazu, dass nur „0000-00-00 00 00 00“ in die Datenbank eingefügt wird.

Lösungen

Um dieses Problem zu beheben, haben Sie mehrere Möglichkeiten:

  1. Datepicker konfigurieren:Datepicker einstellen auf Geben Sie Daten in einem unterstützten Format mit den Optionen altField und altFormat an.
  2. Verwenden Sie die Funktion STR_TO_DATE: Konvertieren Sie die jQuery-Datumszeichenfolge mit der Funktion STR_TO_DATE() von MySQL.
  3. Datum in PHP konvertieren: Konvertieren Sie die Zeichenfolge manuell in ein gültiges Datum in PHP, indem Sie beispielsweise eine DateTime verwenden Objekt.
  4. Datum manuell analysieren:Teilen Sie die Datumszeichenfolge in ihre Komponenten und fügen Sie sie in ein gültiges MySQL-Format zusammen.

SQL-Injection-Schwachstelle

Es ist wichtig zu beachten, dass der bereitgestellte PHP-Code anfällig für SQL-Injection ist. Erwägen Sie die Verwendung vorbereiteter Anweisungen, um dieses Sicherheitsrisiko zu verhindern.

Veraltete mysql_*-Funktionen

Darüber hinaus sind die mysql_*-Funktionen in PHP veraltet und es wird empfohlen, sie durch eine der beiden zu ersetzen mysqli- oder PDO_MySQL-Erweiterungen.

DATUM berücksichtigen Typ

Abschließend sollten Sie erwägen, den MySQL-Typ DATE anstelle der Spalten DATETIME oder TIMESTAMP zum Speichern von Datumswerten ohne Zeitkomponenten zu verwenden.

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

Stellungnahme:
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