web-dev-qa-db-fra.com

Format de date / heure non valide: 1292 Valeur de date / heure incorrecte

J'obtiens une erreur inférieure lorsque j'essaie de mettre à jour une table avec un champ (datetime)

Erreur fatale: exception non interceptée 'PDOException' avec le message 'SQLSTATE [2007]: format de date/heure non valide: 1292 Valeur de date/heure incorrecte: '02 -27-2017 16:37' pour la colonne mise à jour

Mon PHP utilise PDO

$lastupdated = date('m-d-Y H:i:s');
$run = $conn->prepare($sql);
$run->bindParam(':lastupdated', $lastupdated, PDO::PARAM_STR); 

le SQL le dernier type de données mis à jour est datetime

Les données existantes

enter image description here

7
user580950

Vous devez formater la date comme "Y-m-d H:i:s" afin de travailler avec le champ datetime de MySQL.

c'est à dire. :

$lastupdated = date('Y-m-d H:i:s');

De documentation :

Le type DATETIME est utilisé pour les valeurs qui contiennent des parties de date et d'heure. MySQL récupère et affiche les valeurs DATETIME dans 'YYYY-MM-DD HH:MM:SS' format. La plage prise en charge va de '1000-01-01 00:00:00' à '9999-12-31 23:59:59'.

23
JazZ