PHP-Datumsformat für die Eingabe in ein MySQL DATETIME-Feld: Wie vermeidet man Fehler?
Hallo zusammen! Ich bin neu in PHP und MySQL und habe ein Problem beim Speichern eines Datums in die Datenbank.
Ich habe ein Formular, in dem der Benutzer ein Datum im Format dd.mm.yyyy (z.B. 25.12.2023) eingibt. Ich möchte dieses Datum in einem DATETIME-Feld in MySQL speichern. Ich verwende die PHP-Funktion date() zur Formatierung, aber nichts funktioniert richtig.
Hier ist mein Code:
<?php
$user_date = $_POST['user_date']; // Kommt als "25.12.2023"
$formatted_date = date('Y-m-d H:i:s', strtotime($user_date));
$query = "INSERT INTO events (event_date) VALUES ('$formatted_date')";
mysqli_query($conn, $query);
?>
Das Problem ist, dass in der Datenbank 1970-01-01 00:00:00 oder ein leerer String gespeichert wird. Ich habe verschiedene Formate in date() ausprobiert, aber das Ergebnis ist immer dasselbe. Könnt ihr mir sagen, welches Datumsformat für ein MySQL DATETIME-Feld korrekt ist? Und warum kann strtotime() mein Format nicht parsen?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs