Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL está convertendo meus valores de timestamp para 0000-00-00


Isso ocorre com bastante frequência.
Você está confundindo o timestamp do mysql que é na verdade um valor DATETIME com o timestamp do UNIX, que é o número de segundos passados ​​desde 1970-01-01.

Você precisa alterar o formato do campo ou o valor de inserção.
Além disso, você pode encontrar algumas funções do mysql à mão - CURDATE() ou NOW() por exemplo
$sql = 'INSERT INTO users VALUES (NULL,:username,:password,:email,NOW(),NOW())';
$stmt = $pdo->prepare($sql);
$stmt->execute(array($username, $password, $email));

Mas, pessoalmente, eu evitaria os timestamps do mysql. eles podem ser alterados inesperadamente, arruinando todos os seus dados. Eu usaria DATETIME e defina todos os valores manualmente.