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 :

insertion avec la variable now


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 219
    Par défaut insertion avec la variable now
    Bonjour,

    J'ai quelques petits souci lorsque je veux rentrer la date d'aujourd'hui avec la variable now de mysql sur un champ datetime.

    Exemple :

    Sans insertion de la date du jour, ca marche :
    $stmt = $dbh->prepare( "insert into valeur (valeur) values (:valeur)" );
    $stmt->bindParam(':valeur', $v);

    $v = $valeur['dernier'];
    $stmt->execute();


    Avec la date, aucune insertion :
    $stmt = $dbh->prepare( "insert into valeur (valeur, date) values (:valeur, now)" );
    $stmt->bindParam(':valeur', $v);

    $v = $valeur['dernier'];
    $stmt->execute();


    J'ai fait l'execution de la requete entre un try catch mais aucune erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    try{
    } catch (PDOException $e) {
      echo 'Echec de la connexion : ' . $e->getMessage();
    }

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Par défaut
    Bonsoir,
    pour récupérer ce genre d'erreurs, vous devez ajouté cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    En ce qui concerne votre problème, j'ai testé et ma ligne a bien été insérée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
      $cbdd = new PDO('mysql:host=localhost;dbname=test', 'darian', 'pass');
      $cbdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
      $text = 'texte';
     
      $pdos = $cbdd->prepare("INSERT INTO `table` (`texte`, `moment`) VALUES (?, now())");
     
      $pdos->bindParam(1, $text);  
      $pdos->execute();
     
    ?>
    Cordialement,
    DaRiaN.

  3. #3
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 219
    Par défaut
    Tout d'abord un grand merci pour ta réactivité.


    Tu avais tout a fais raison, j'avais oublié de parametre l'objet pour ressortir les erreurs. J'ai maintenant l'explication.
    SQLSTATE[42S22]: Column not found: 1054 Unknown column 'now' in 'field list'
    Je ne comprends pas du tout parce que le now est dans le value et non pas dans les noms des colonnes ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $stmt = $dbh->prepare( "insert into valeur (valeur, moment) values (:valeur, now)" );
    PS : j'ai changé le nom du champ date pour ne pas avoir de problème avec ce mot réservé de mysql

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Par défaut
    Regardez ma requête, j'utilise now() et non, now.

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/07/2014, 08h33
  2. [RegEx] Ecrire une requete INSERT avec des variables $_POST
    Par arnaudperfect dans le forum Langage
    Réponses: 10
    Dernier message: 13/06/2007, 15h12
  3. [AS400-SQLRPGLE] Insert avec des variables ?
    Par axine dans le forum DB2
    Réponses: 4
    Dernier message: 21/12/2006, 17h43
  4. [Unix][9i] insert avec des variable ($) sous Korn Shell
    Par weejungle dans le forum Oracle
    Réponses: 1
    Dernier message: 20/09/2006, 12h41
  5. Réponses: 2
    Dernier message: 14/05/2004, 14h32

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