Probleme mit dem PHP-MySQL-Datumsformat
Bei Verwendung des jQuery-Datumswählers mit einem bestimmten Format (z. B. „25.08.2012“) Das Einfügen des ausgewählten Datums in eine MySQL-Datenbank als Datumswert kann zu Fehlern führen und den Standardwert „0000-00-00“ anzeigen 00:00:00" stattdessen.
Grund:
Laut MySQL-Dokumentation erkennt MySQL Datumswerte in bestimmten Formaten, einschließlich „JJJJ-MM-TT“ oder „JJ-MM-TT“. Das von der jQuery-Datumsauswahl verwendete Format ('25.08.2012') wird von MySQL nicht direkt erkannt.
Lösungen:
Es gibt mehrere Möglichkeiten, dieses Problem zu beheben Problem:
1. Verwenden Sie AltField, um das Format zu konvertieren:
Konfigurieren Sie die Datumsauswahl mithilfe der Optionen „altField“ und „altFormat“ so, dass Datumsangaben in einem unterstützten Format bereitgestellt werden. Dadurch wird ein verstecktes Feld erstellt, das das Datum im gewünschten Format enthält.
2. Verwenden Sie die STR_TO_DATE()-Funktion von MySQL:
Diese Funktion kann die empfangene Zeichenfolge in einen gültigen MySQL-Datumswert umwandeln. Verwenden Sie es wie folgt:
INSERT INTO user_date VALUES('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
3. Datum in PHP-DateTime-Objekt konvertieren:
Verwenden Sie das DateTime-Objekt von PHP, um die empfangene Zeichenfolge in ein Datumsformat zu konvertieren, das PHP versteht.
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
4. String manuell bearbeiten:
Wenn keine der oben genannten Optionen funktioniert, können Sie den empfangenen String manuell in ein gültiges MySQL-Datumsliteral manipulieren.
$parts = explode('/', $_POST['date']); $date = "$parts[2]-$parts[0]-$parts[1]";
Achtung:
Das obige ist der detaillierte Inhalt vonWie behebe ich Inkompatibilitäten im PHP- und MySQL-Datumsformat bei der Verwendung von jQuery Datepicker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!