Inserer une date future dans la base donnee.

Résolu
Liliane -  
 Utilisateur anonyme -
Bonjour,

Je suis entrain de travailler sur un site dynamique. J'ai essaye l'insertion d'une date future dans la base de donnée. Or ça ne pas marcher, on m'affiche 0000-00-00 dans ce champs qui est censé contenir cette date.
Sachant que j'ai respecté la même forme (Y-m-d) pour la variable insérée, et que si j'affiche la commande pour trouver la date future, ca me donne la date.
Voila le script que j'ai code pour ca:
$query="UPDATE 'TableT' set 'DateT'=".date('Y-m-d', strtotime("+6 month"))." where 'ID'=".$_GET['ID'];
$Result=mysql_query($query);


Merci d'avance
A voir également:

9 réponses

Utilisateur anonyme
 
J'avais écrit : Tu as bien remis (ou retiré...) des accents graves à la place des apostrophes autour des noms de table et de champs
Apparemment, tu n'en avais pas tenu compte...

Laissons tomber les accents graves autour des noms de champs et de table : graves
$query="UPDATE TableT set DateT='".date('Y-m-d', strtotime("+6 month"))."' where ID=".$_GET['ID'];

ou sans accents et sans fonction PHP
$query="UPDATE TableT set DateT= DATE_ADD( NOW( ) , INTERVAL 6 MONTH ) where ID=".$_GET['ID'];
1
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut,

Ta syntaxe de strtotime est fausse : tu n'indiques pas + 6 mois par rapport à quoi.

Si c'est 6 mois par rapport à la date présente, tu peux indiquer cela comme çà : "now +6 months", je pense.

https://www.php.net/manual/en/function.strtotime.php
https://www.php.net/manual/en/function.date.php


Dal
0
Utilisateur anonyme
 
Bonjour

La syntaxe "+6 month" est parfaitement correcte.
Le problème, c'est qu'il faut mettre la date entre apostrophes dans la requête :
$query="UPDATE 'TableT' set 'DateT'='".date('Y-m-d', strtotime("+6 month"))."' where 'ID'=".$_GET['ID'];
0
Liliane
 
Merci.
Je l'ai ajoute mais ça n'a pas marche. :/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Tu as bien remis (ou retiré...) des accents graves à la place des apostrophes autour des noms de table et de champs ? Car ce site a la mauvaise manie de transformer certains caractères...


Sinon, recette pour analyser les problèmes avec mysql :
$Result=mysql_query($query) or die(mysql_error());

D'autre part, pour ajouter 6 mois à la date courante, pas besoin de fonction php, ça peut se faire directement en SQL :

$query="UPDATE 'TableT' set 'DateT'= DATE_ADD( NOW( ) , INTERVAL 6 MONTH ) where 'ID'=".$_GET['ID'];
0
Liliane
 
oui j'ai suivi ce que vous avez dit a la lettre.
le or die (mysql_error()) m'informe que je dois revoir la syntaxe et si elle est adéquate avec la version.
Sinon la fonction sql n'a pas marche a son tour.
0
Utilisateur anonyme
 
or die (mysql_error()) m'informe que je dois revoir la syntaxe et si elle est adéquate avec la version.
Donne le message d'erreur complet, on verra l'erreur.
0
Liliane
 
Le voila
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''TableT' set 'DateT'='2012-11-29' where 'ID'=4' at line 1
0
Liliane
 
Merci beaucoup.
Je ne sais pas quoi te dire, apparemment les deux fonctionnent a merveille.
Merci encore une fois, t'es un ange.
0
Utilisateur anonyme
 
De rien :)
0