PHP-MySQL-Datumsformat einfügen
Bei Verwendung eines jQuery-Datumswählers mit dem Format „MM/TT/JJJJ“ zum Einfügen von Daten in ein In der MySQL-Datenbank kann es zu Fehlern kommen, wenn das eingefügte Datum als „0000-00-00 00:00:00“ gespeichert wird. Dieses Problem entsteht, weil das Format „MM/TT/JJJJ“ von MySQL nicht als gültiges Datumsliteral erkannt wird.
Laut der MySQL-Dokumentation zu Datums- und Zeitliteralen erkennt MySQL DATE-Werte in den folgenden Formaten:
An Um dieses Problem zu beheben, können Sie die folgenden Optionen erkunden:
Erstellen Sie ein DateTime-Objekt aus der jQuery-Datumsauswahlzeichenfolge:
$date = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
Formatieren Sie dann das Datum in ein unterstütztes Format:
$date_string = $dt->format('Y-m-d');
Konvertieren Sie die jQuery-Datumsauswahlzeichenfolge mithilfe der Funktion STR_TO_DATE() in ein MySQL-kompatibles Format:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
Teilen Sie die jQuery-Datumsauswahlzeichenfolge in Teile für Monat, Tag, und Jahr, dann erstellen Sie eine MySQL-kompatible Zeichenfolge:
$parts = explode('/', $_POST['date']); $mysql_date = "$parts[2]-$parts[0]-$parts[1]";
Konfigurieren Sie die Datumsauswahl für die Ausgabe von Datumsangaben ein unterstütztes Format mit dateFormat oder altField altFormat Optionen:
$( "selector" ).datepicker({ dateFormat: "yyyy-mm-dd" });
oder
$( "selector" ).datepicker({ altField: "#actualDate" altFormat: "yyyy-mm-dd" });
Achtung:
Es ist wichtig, sich durch die Verwendung vorbereiteter Anweisungen vor SQL-Injection zu schützen. Erwägen Sie außerdem die Verwendung des DATE-Datentyps in MySQL zum Speichern von Datumsangaben, da dieser speziell für diesen Zweck entwickelt wurde.
Das obige ist der detaillierte Inhalt vonWie füge ich Daten aus einem jQuery Datepicker ordnungsgemäß in eine MySQL-Datenbank ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!