Faire un insert sur une colonne de type DATETIME en MySQL viaPHP

Fermé
cocodu67... Messages postés 3162 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 20 novembre 2024 - 14 mai 2015 à 19:48
loupix57 Messages postés 316 Date d'inscription mercredi 20 mars 2013 Statut Membre Dernière intervention 1 juin 2015 - 1 juin 2015 à 18:34
Bonsoir,

Jusqu'à maintenant j'ai toujours stocké des dates dans une colonne timestamp, le problème c'est qu'à présent je suis obligé d'utiliser une colonne de type datetime.
Dans cette colonne je souhaite mettre l'heure du moment présent.

Voici la requête :


$dateheure = "'".date('Y-m-d H:i:s', strtotime(str_replace('-', '/', time())))."'";
	$idserveur = 21;
	$req_webaccountBS = $pdo_webaccount->prepare('INSERT INTO GameTail_Event (PlayerID, IdIdx, ObjectIdx, Qty, ServerID, RegDate, id_article) VALUES(:PLAYERID, :IDIDX, :OBJECTIDX, :QTY, :SERVERID, :REGDATE, :IDARTICLE);');
	$req_webaccountBS->bindParam(':PLAYERID', $identifiant, PDO::PARAM_STR, 20);
	$req_webaccountBS->bindParam(':IDIDX', $resultat_idx[0][0], PDO::PARAM_STR, 6);
	$req_webaccountBS->bindParam(':OBJECTIDX', $resultats_recherche_item2[0][1], PDO::PARAM_STR, 5);
	$req_webaccountBS->bindParam(':QTY', $resultats_recherche_item2[0][3], PDO::PARAM_STR, 3);
	$req_webaccountBS->bindParam(':SERVERID', $idserveur, PDO::PARAM_STR, 2);
	$req_webaccountBS->bindParam(':REGDATE', $dateheure, PDO::PARAM_STR, 24);
	$req_webaccountBS->bindParam(':IDARTICLE', $id_article, PDO::PARAM_STR, 3);
	$req_webaccountBS->execute();
} catch (PDOException $Exception) {}



J'ai donc effectué quelques recherches et j'ai trouvé quelques "solutions" comme celle qui se trouve juste au-dessus de cette phrase. Le problème est que la colonne est toujours à 0000-00-00 00-00-00 qu'importe ce que j'essaye.

J'ai également essayé

INSERT INTO GameTail_Event (PlayerID, IdIdx, ObjectIdx, Qty, ServerID, RegDate, id_article) VALUES(:PLAYERID, :IDIDX, :OBJECTIDX, :QTY, :SERVERID, NOW(), :IDARTICLE);


Mais cela ne fonctionne pas.

Je suis alors allé dans ma base de données et j'ai écris :

INSERT INTO GameTail_Event (PlayerID, IdIdx, ObjectIdx, Qty, ServerID, RegDate, id_article) VALUES("test", 8125, 335, 1, 21, NOW(), 24);


Et ici ça fonctionne.

Est ce que quelqu'un sait comment mettre la date du moment présent dans cette colonne au moment de l'insertion des données ?

Merci d'avance
A voir également:

1 réponse

loupix57 Messages postés 316 Date d'inscription mercredi 20 mars 2013 Statut Membre Dernière intervention 1 juin 2015 14
1 juin 2015 à 18:34
Salut !
Tu peut toujours faire dans ta base de données ;
sur la table en question, aller sur RegDate, et mettre "Par Default" :
CURRENT_TIMESTAMP & ON UPDATE CURRENT_TIMESTAMP

Comme ça quand tu fait des insert et / ou des update, t'enleve la colonne 'RegDate' et ça se fera automatiquement ;-)

0