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 :

PDO Update préparé - non fonctionnel [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 11
    Points
    11
    Par défaut PDO Update préparé - non fonctionnel
    Bonjour, j'ai un problème lorsque je veux updater des informations dans ma BDD. En fait, on dirait que ma requête update ne fonctionne pas. Quelqu'un est capable de voir où se trouve le problème svp? Merci!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //appel de la class nouvelles.
    $nouvelle = new Nouvelles($bdd);
    Si je reçois modifier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ($_POST["modifier"]){
    	$slug = slug($_POST['title']) //cette fonction fonctionne :P;
    	$query = "UPDATE beta_news SET title = :title, summary = :summary, published_date = :published_date, text = :text,  subject_id = :subject_id, auteur = :auteur, cat = :cat WHERE id = :id";
    	$donnees = array(":title"=>(string)$_POST['title'], ":summary"=>(string)$_POST['summary'],":published_date"=>(string)$_POST['published_date'], ":text"=>(string)$_POST['text'], ":slug"=>(string)$slug, ":subject_id"=>(int)$_POST['subject_id'], ":auteur"=>(string)$_POST['auteur'], ":cat"=>(string)$_POST['cat'],":id"=>(int)$_POST["id"]);
    	$nouvelle->modifierNouvelle($query, $donnees);
    }
    la fonction modifier nouvelle
    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
    public function modifierNouvelle($query, $donnees){
    	try{
    		$nouvelle = $this->bdd->prepare($query);
    		foreach($donnees as $key => $value){
    			if (is_string($value)){
    				$nouvelle->bindValue($key,$value, PDO::PARAM_STR);
    			}else{
    				if(is_int($value)){
    					$nouvelle->bindValue($key,$value, PDO::PARAM_INT);
    				}
    			}	
    		}
    		$nouvelle->execute();
    		//print_r($nouvelle->fetchObject());
    		//exit;
    	}catch(Exception $e){
    		 echo 'Exception reçue : ',  $e->getMessage(), "\n";
    		 exit;
    	}
    }

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 386
    Points : 10 413
    Points
    10 413
    Par défaut
    ça ne sert à rien de faire un tableau pour ensuite binder les variables individuellement. C'est l'un ou l'autre. Pourquoi ne fais-tu pas simplement $nouvelle->execute($donnees); (sans passer par le foreach)

  3. #3
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Tu fais un try... catch mais tu as bien activé la gestion des erreurs dans PDO (pas activé par défaut).
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    D'accord, merci!!!

    Je vais essayer et je vous redonne des nouvelles.

    Pour activer le try catch, je fais comment?

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 386
    Points : 10 413
    Points
    10 413
    Par défaut
    soit avec setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)
    soit en passant ces paramètres comme option dans l'intenciation de ta connexion

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Ça fonctionne ! Merci !

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

Discussions similaires

  1. [UI] Sortable - UPDATE sur BDD non fonctionnel
    Par Ghostly dans le forum jQuery
    Réponses: 0
    Dernier message: 21/08/2013, 14h17
  2. [2.x] Update Entity avec relation ManyToOne non fonctionnel
    Par khyor dans le forum Symfony
    Réponses: 2
    Dernier message: 20/07/2012, 12h02
  3. [ZF 1.10] Update t set c1=c1+10 non fonctionnel avec Zend Update
    Par SpaceInvader dans le forum Zend Framework
    Réponses: 5
    Dernier message: 09/06/2010, 20h16
  4. Update non fonctionnel
    Par kissmytoe dans le forum Access
    Réponses: 7
    Dernier message: 07/03/2006, 18h37
  5. [REPORTS] Order BY non fonctionnel
    Par sdiack dans le forum Reports
    Réponses: 2
    Dernier message: 10/02/2006, 18h10

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