110 votes

Insérer la date actuelle dans le format datetime mySQL

J'ai des problèmes pour que la date soit insérée correctement dans ma base de données.

$date = date('m/d/Y h:i:s', time());

J'utilise ce format, et l'écho est correct, cependant, quand j'insère

mysql_query("INSERT INTO table 
(dateposted) 
VALUES ('$date')");

il ne semble pas fonctionner avec succès, et, l'heure reste 00:00:00 Si vous pouviez trouver la solution, ce serait formidable, merci.

2 votes

Dateposted est le format de date.

251voto

Aaron W. Points 5431

Si vous cherchez à stocker l'heure actuelle, utilisez simplement les fonctions de MYSQL.

mysql_query("INSERT INTO `table` (`dateposted`) VALUES (now())");

Si vous devez utiliser PHP pour le faire, le format à utiliser est le suivant Y-m-d H:i:s alors essayez

$date = date('Y-m-d H:i:s');
mysql_query("INSERT INTO `table` (`dateposted`) VALUES ('$date')");

22 votes

Mais il utilisera le fuseau horaire local du serveur MySQL. Si vous avez Apache/PHP et MySQL sur des serveurs différents et que le fuseau horaire est incorrect dans l'un d'eux, vous aurez des valeurs différentes.

3 votes

@Jeff_Alieffson a raison. Utilisation de UTC_TIMESTAMP() ( dev.mysql.com/doc/refman/5.5/fr/ ) est préféré à NOW()

0 votes

J'ai essayé la même chose, mais j'obtiens 0000-00-00 00:00:00 et mon type de données est datetime.

38voto

Erik Giberti Points 591

Essayez plutôt ceci

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

8voto

Gaurang Points 646

NOW() est utilisé pour insérer la date et l'heure actuelles dans la table MySQL. Tous les champs dont le type de données est DATETIME, DATE, TIME & TIMESTAMP fonctionnent bien avec cette fonction.

AAAA-MM-JJ HH:mm:SS

Démonstration :

Le code suivant montre l'utilisation de NOW()

INSERT INTO auto_ins
(MySQL_Function, DateTime, Date, Time, Year, TimeStamp)
VALUES
(“NOW()”, NOW(), NOW(), NOW(), NOW(), NOW());

7voto

Diar Selimi Points 11

Vous pouvez utiliser CURRENT_TIMESTAMP, fonction mysql

6voto

Abdullah Points 33

Fixer le type de la colonne nommée dateposted como DATETIME et exécutez la requête suivante :

INSERT INTO table (`dateposted`) VALUES (CURRENT_TIMESTAMP)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X