これはかなり頻繁に発生します。
実際にはDATETIMEのような値であるmysqlタイムスタンプと1970-01-01から経過した秒数であるUNIXタイムスタンプを混同しています。
フィールド形式または挿入値のいずれかを変更する必要があります。
また、いくつかのmysql関数が便利です-たとえば、CURDATE()またはNOW()
$sql = 'INSERT INTO users VALUES (NULL,:username,:password,:email,NOW(),NOW())';
$stmt = $pdo->prepare($sql);
$stmt->execute(array($username, $password, $email));
しかし、個人的にはmysqlのタイムスタンプは避けたいと思います。それらは予期せず変更され、すべてのデータを台無しにする可能性があります。 DATETIME
を使用します すべての値を手動で設定します。