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

MySQL Discussion :

Impossible d'update la donnée pour la passer à null


Sujet :

MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Points : 69
    Points
    69
    Par défaut Impossible d'update la donnée pour la passer à null
    Bonjour,

    J'ai la requête suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $this-> nouveauPasswordOK = $db->prepare("update scf_licencies set Reinit_mdp = null, Password = :password where idLicencie = :idLicencie");
     
    public function nouveauPasswordOK($idLicencie, $password)
    {
    	$this -> nouveauPasswordOK -> execute(array(':password' => $password, ':idLicencie' => $idLicencie));
    	return $this->nouveauPasswordOK->rowCount();
    }
    la MAJ ne se fait pas. Pourtant, ça retourne bien qu'il y a une ligne d'updaté.

    Pourquoi ?
    Je pense avoir mon idée, mais pas la solution.
    En début de script, j'ai un $GLOBALS['bdd']->beginTransaction();
    Seulement, quand je veux faire un COMMIT avec $GLOBALS['bdd']->commit();, ça retourne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dans class_licencie, fonction nouveauPasswordOK. Password : le_mot_de_passe_crypté
    Nb lignes MAJ : 1
    Fatal error: Call to a member function commit() on a non-object in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\SCF\core\pages\licencie_reinit_password.php on line 50
    La connexion à la BD se fait par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		$GLOBALS['bdd'] = new PDO("mysql:host=$hostname; dbname=$nom_base_donnees", $user, $password, array(PDO::ATTR_PERSISTENT => true));
    		$GLOBALS['bdd']->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    Merci pour votre aide.

    Eddy

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 377
    Points : 19 049
    Points
    19 049
    Par défaut
    Salut Eddoul.

    Entre ta ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nouveauPasswordOK = $db->prepare(
    et ta ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nouveauPasswordOK -> execute(
    il ne te manquerait par, par hasard, des ligne pour insérer tes paramètres ?

    Quelque chose dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nouveauPasswordOK->bindParam('password', $password);
    --> http://php.net/manual/fr/pdostatement.bindparam.php

    Je voie que tu fais du cobol mainframe. Dans quel environnement ?
    Est-ce du cobol pure (micro focus), ou du cobol pacbase ?

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Membre du Club
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Points : 69
    Points
    69
    Par défaut
    pour moi, le pb ne serait pas dans le bindparam. Tous mes accès à la base de données sont identiques et je n'ai pas de pb.
    Je pense que je dois initialiser la variable à NULL pour la rendre nullable. La BD accepte le null value.

    Je vais tester ce soir.

    Merci d'avoir regardé.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/08/2015, 15h42
  2. [MySQL] impossible d'update de nouvelle donnée
    Par naut's dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/12/2011, 20h49
  3. Réponses: 6
    Dernier message: 14/11/2007, 16h38
  4. comment faire ma base de donnée pour un moteur de recherche
    Par HoB dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 04/05/2004, 15h07
  5. [EJB2] Sources de données pour EJB
    Par thomy dans le forum Java EE
    Réponses: 4
    Dernier message: 04/06/2003, 15h52

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