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

PHP & Base de données Discussion :

Problème d'insert avec un champ de type DateTime [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Débutant
    Inscrit en
    Juin 2006
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 502
    Points : 78
    Points
    78
    Par défaut Problème d'insert avec un champ de type DateTime
    Bonsoir à tous,

    Aprés plusieurs jour de cherche et sans aucun résultat je me tourne vers vous et j'espère que vous allez pouvoir m'aider.
    Dans ma base de donnée j'ai une table qui contient un champs date-heure qui est de type dateTime.
    Pour un nouvel enregistrement dans ma table j'utilise la date système de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $DateHeure= date("d-m-Y H:i:s");
    Ensuite je fais la requête d'ajout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req = mysql_query("INSERT INTO maTable ( Date_Heure) VALUES ( '".$DateHeure."')");
    Le problème c'est lorsque je fais la requete insert il n'ajoute pas la date du jour ni l'heure tout est mis à zéro.
    Pourtant j'ai tester et je récupère bien la date et l'heure par ma variable DateHeure et lorsque j'affiche ma requete et que je l'exécute sur mysql, mysql me dit que ma requete à été executer avec succès mais le champs date-heure est toujours à 0.

    Merci d'avance pour votre aide.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 36
    Points : 40
    Points
    40
    Par défaut
    Tu peux utiliser cette solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query('INSERT INTO maTable ( Date_Heure) VALUES (now())');
    ou celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $DateHeure= date("Y-m-d H:i:s");
    $req = mysql_query("INSERT INTO maTable ( Date_Heure) VALUES ( '".$DateHeure."')");

  3. #3
    Débutant
    Inscrit en
    Juin 2006
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 502
    Points : 78
    Points
    78
    Par défaut
    Merci beaucoup pour ton aide, ça fonctionne maintenant

  4. #4
    Membre du Club
    Homme Profil pro
    Épine dans le pieds
    Inscrit en
    Mai 2004
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Épine dans le pieds

    Informations forums :
    Inscription : Mai 2004
    Messages : 425
    Points : 55
    Points
    55
    Par défaut
    Bonjour (desole pour les accents --> clavier qwerrt),

    J'ai le meme souci mais la solution n est pas dans le post (j'ai essaye plusieurs combinaisons de "'.), sauf peut etre a passer mon champs en CHAR.

    Je recupere le datetime local du visiteur via javascript au format "2009-05-05 11:03:55" puis le passe a PHP pour insertion dans ma table mysql de visites.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <script language="Javascript">
    .../...
    var g = y + "-" + mo + "-" + d + " " + h + ":" + m + ":" + s
    
    //sends the result to PHP
    document.write(g)
    </script>
    
    <?php
    //Retrieve client date
    $cltdate = "<script>document.write(g);</script>";
    
    //insert into visits table
    $insertq = "INSERT INTO $table1 (vis_ip,vis_ctrycode,vis_localhour) VALUES('$realip','$country','$cltdate')";
    mysql_query($insertq)OR die(mysql_error());
    
    //Close the server connection
    mysql_close();
    ?>
    Mon champs vis_localhour est au format datetime (yyyy-mm-dd hh:mm:ss), non null.

    Le insert fonctionne mais la valeur du champs vis_localhour reste '0000-00-00 00:00:00' alors qu'un echo sur $cltdate me renvoie une valeur correcte.

    Une idee quelqu'un ?

  5. #5
    Membre du Club
    Homme Profil pro
    Épine dans le pieds
    Inscrit en
    Mai 2004
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Épine dans le pieds

    Informations forums :
    Inscription : Mai 2004
    Messages : 425
    Points : 55
    Points
    55
    Par défaut
    Je pense avoir compris : php s'execute avant javascript donc je ne peux pas mettre ma base a jour au chargement de la page.

    Une idee quelqu'un ?

    Px

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

Discussions similaires

  1. [2.x] [Form] Problème avec un champs de type datetime
    Par Ph3nol dans le forum Symfony
    Réponses: 4
    Dernier message: 11/04/2017, 10h05
  2. [AC-2003] Problème d'arrondi avec les champs de type réel simple
    Par gege2061 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 15/09/2009, 17h58
  3. [MySQL] Insertion avec un champ de type date
    Par souadmaa dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 04/02/2008, 11h27
  4. Réponses: 8
    Dernier message: 16/08/2006, 14h39
  5. Problème d'insertion avec un champ Date/Heure ?
    Par bds2006 dans le forum Bases de données
    Réponses: 1
    Dernier message: 26/06/2006, 10h37

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