Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL convertit mes valeurs d'horodatage en 0000-00-00

Cela se produit assez souvent.
Vous confondez l'horodatage mysql qui est en fait une valeur de type DATETIME avec l'horodatage UNIX, qui est le nombre de secondes écoulées depuis le 1970-01-01.

Vous devez soit changer le format du champ, soit la valeur d'insertion.
Vous pouvez également trouver des fonctions mysql pratiques - CURDATE() ou NOW() par exemple

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

Mais personnellement, j'éviterais les horodatages mysql. ils peuvent être modifiés de manière inattendue, ruinant toutes vos données. J'utiliserais DATETIME et définissez toutes les valeurs manuellement.