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

9 réponses

  1. 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
  2. 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
  3. Liliane
     
    Merci.
    Je l'ai ajoute mais ça n'a pas marche. :/
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
    1. Utilisateur anonyme
       
      De rien :)
      0