IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Probleme fonction mysql date_add [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Probleme fonction mysql date_add
    Bonjour,
    Je debute en php et je suis confronte au probleme suivant :
    Je veux inserer dans une base de donnees differentes informations dont une date d'emprunt et une date de retour.
    La date de retour = date d'emprunt + 28 jours.
    J'ai donc voulu utiliser date_add(). Mais j'ai un message d'erreur concernant le nombre 28. Voici une partie du code en question

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $datedepart = $_POST["txtdatepret"];
    $datecalcule = DATE_ADD($datedepart, INTERVAL 28 DAY);
    $dateretour = implode("-", array_reverse(explode("/", $datecalcule)));
    $datepret = implode("-", array_reverse(explode("/", $_POST["txtdatepret"])));
     
    $sql = "INSERT INTO emprunts(emp_titre, emp_auteur, emp_annee, emp_datepret, emp_dateretour) VALUES ('$_POST[txttitre]','$_POST[txtauteur]','$_POST[txtannee]','$datepret','$dateretour')";
    Le message d'erreur est :
    Parse error: syntax error, unexpected '28' (T_LNUMBER) in /home/u689849823/public_html/outilsdeux.php on line 140
    la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $datecalcule = DATE_ADD($datedepart, INTERVAL 28 DAY);
    est incriminee. (J'avais essaye aussi de passer le $_post["txtdatepret"] en direct dans le date_add sans succes.
    Merci de vos eclaircissements.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Points : 11
    Points
    11

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    DATE_ADD avec INTERVAL c'est du Mysql, pas du PHP.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "INSERT INTO emprunts(emp_titre, emp_auteur, emp_annee, emp_datepret, emp_dateretour) VALUES ('$txttitre,'$txtauteur','$txtannee', DATE_ADD($datepret, INTERVAL 28 DAY)','$dateretour')";
    Le date_add() en PHP c'est comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $date = date_create( $_POST['txtdatepret']);
    date_add($date, date_interval_create_from_date_string('28 days'));
    Attention tu ne protéges pas tes requêtes contre les injections en mettant directement tes valeurs $_POST sans traitement.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problem fonction mysql
    Par azebou dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 04/10/2011, 09h06
  2. probleme fonction gethostbyname
    Par oclone dans le forum Développement
    Réponses: 6
    Dernier message: 14/04/2005, 10h31
  3. probleme fonction syntaxe
    Par gIch dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 09h52
  4. Probleme api mysql
    Par ThomasC dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 06/09/2004, 16h00
  5. Probleme avec Mysql
    Par kevinss dans le forum Administration
    Réponses: 5
    Dernier message: 31/10/2003, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo