Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL konvertiert meine Zeitstempelwerte in 0000-00-00

Das kommt ziemlich oft vor.
Sie verwechseln den mysql-Zeitstempel, der eigentlich ein DATETIME-ähnlicher Wert ist, mit dem UNIX-Zeitstempel, der die Anzahl der seit dem 01.01.1970 vergangenen Sekunden ist.

Sie müssen entweder das Feldformat oder den einzufügenden Wert ändern.
Sie können auch einige MySQL-Funktionen praktisch finden - zum Beispiel CURDATE() oder NOW()

$sql = 'INSERT INTO users VALUES (NULL,:username,:password,:email,NOW(),NOW())';
$stmt = $pdo->prepare($sql);
$stmt->execute(array($username, $password, $email));

Aber persönlich würde ich MySQL-Zeitstempel vermeiden. Sie können unerwartet geändert werden und alle Ihre Daten ruinieren. Ich würde DATETIME verwenden und alle Werte manuell einstellen.