Faire un UPDATE sur la date

Fermé
LyonGone Messages postés 48 Date d'inscription samedi 6 novembre 2010 Statut Membre Dernière intervention 8 juin 2011 - Modifié par LyonGone le 8/06/2011 à 21:59
 le père - 9 juin 2011 à 00:01
Bonjour, j'ai mon script d'édition des messages sur mon forum. Ce que je veux, c'est afficher un message : Message édité le 08/06/11 à 22:00.
Pour ça, j'ai un champ edit_post_date, que je mets à jour à chaque fois que le membre modifie son commentaire. Et j'affiche la date sur son post.

Comment mettre à jour une date en datetime avec ce bout de script ?


<?php
$req = $bdd->prepare('UPDATE commentaires SET commentaire = ? edit_post_date = ? WHERE id_commentaire = ?');
$req->execute(array($_POST['commentaire'], NOW(), $_POST['comment']));
?>

J'ai essayé ça, mais c'est pas permis.
Merci.



A voir également:

1 réponse

Bonjour

Bien sûr que ça n'est pas permis. Tu utilises la fonction mysql NOW() en dehors d'une requête ! Car même si c'est pour la passer à une requête préparée, à l'endroit où tu le mets, c'est une expression PHP qu'il faut. C'est l'un des paramètres de la fonction PHP array .

Au lieu d'utiliser NOW, utilise une fonction php qui te donne la date sous le format que tu veux. Si edit_post_date est un champ DATE, il faudra lui donner le format aaaa-mm-jj. Si c'est un simple champ texte, tu peux l'enregistrer directement au format jj/mm/ss, ça peut te simplifier la vie pour l'affichage.
$req->execute(array($_POST['commentaire'], date('Y-m-d'), $_POST['comment'])); 
ou
$req->execute(array($_POST['commentaire'], date(d/m/Y'), $_POST['comment'])); 
selon le cas
0