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 qui ne fait rien [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 57
    Par défaut PDO update qui ne fait rien
    Bonjour,
    ce bout de code ne marche pas et bien sûr je ne sais pas pourquoi...

    si quelqu'un voit le problème

    j'arrive à faire un INSERT mais l'UPDATE .......

    Il n'y a même pas d'erreur qui se produit
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    $dbh = new PDO('mysql:host=localhost;dbname=enregistrement_bdd', $user, $pass);
     
     
     
    $req_sql = "UPDATE neuilly SET prix1 = :prix1, prix2 = :prix2, neuf = :neuf, usage = :usage, mauvais = :mauvais WHERE adresse = :adresse";
     
    		try {
    		// Préparation de la requête :
    			$o_preparer = $dbh->prepare($req_sql);
     
    		// Attribution des paramètres :
    			$o_preparer->bindValue(":adresse", $adresse, PDO::PARAM_STR);
    			$o_preparer->bindValue(":prix1", $prix1, PDO::PARAM_INT);
    			$o_preparer->bindValue(":prix2", $prix2, PDO::PARAM_INT);
    			$o_preparer->bindValue(":neuf", $neuf, PDO::PARAM_INT);
    			$o_preparer->bindValue(":usage", $usage, PDO::PARAM_INT);
    			$o_preparer->bindValue(":mauvais", $mauvais, PDO::PARAM_INT);
     
     
    		// Exécution de la requête SQL :
    			$o_preparer->execute();
     
    		// Affichage de la réussite :
    			echo "<h3>Modification effectuée avec succès !</h3>";
    			echo '<hr />';
     
    		} catch (PDOException $p_e) {
    			echo "<h1 class=\"erreur\">ATTENTION ERREUR : La requête concernant l'ajout des valeurs a échoué. Merci de bien vouloir contacter le WebMaster à l'adresse suivante <a href=\"mailto:toto@titi.fr\">toto@titi.fr</a>, si le problème persiste.</h1>";
     
    			// A METTRE EN COMMENTAIRE
    			// LORS DU PASSAGE EN PRODUCTION :
    				echo $p_e->getMessage();
    		}

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    il faut afficher les erreurs pour les voir
    http://php.net/manual/fr/pdo.error-handling.php

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 57
    Par défaut
    En ajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    à ma classe de connexion ça marche
    par contre comment faire un LIKE %:adresse% ?
    sachant que l'utilisation de l'array dans execute j'arrive ça le faire fonctionner que pour 1 entrée

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    function __autoload($p_str_nom) {
    			include("inc/classes/$p_str_nom.php");
    		}
    $neuf = 40;
    $normal = 40;
    $mauvais = 40;
     
    $adresse = "rue de l'Eglise";
     
    $o_gestion_base = new gestion_base();
     
    $req_sql = "UPDATE neuilly SET neuf = :neuf, normal = :normal, mauvais = :mauvais WHERE adresse LIKE :adresse";
     
    		try {
     
    		// Préparation de la requête :
    			$o_preparer = $o_gestion_base->cnx->prepare($req_sql);
     
    		// Attribution des paramètres :
    			$o_preparer->bindValue(":adresse", $adresse, PDO::PARAM_STR);
    			$o_preparer->bindValue(":neuf", $neuf, PDO::PARAM_INT);
    			$o_preparer->bindValue(":normal", $normal, PDO::PARAM_INT);
    			$o_preparer->bindValue(":mauvais", $mauvais, PDO::PARAM_INT);
     
    		// Exécution de la requête SQL :
    			$o_preparer->execute();
     
    		// Affichage de la réussite :
    			echo "<h3>Modification effectuée avec succès !</h3>";
    			echo $req_sql."<br/>";
    			echo '<hr />';
     
    		} catch (PDOException $p_e) {
    			echo "<h1 class=\"erreur\">ATTENTION ERREUR : La requête concernant l'ajout des valeurs a échoué. Merci de bien vouloir contacter le WebMaster à l'adresse suivante <a href=\"mailto:toto@titi.fr\">toto@titi.fr</a>, si le problème persiste.</h1>";
     
    			// A METTRE EN COMMENTAIRE
    			// LORS DU PASSAGE EN PRODUCTION :
    				echo $p_e->getMessage();
    		}

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 57
    Par défaut
    Bha ça marche en fait ^^
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    function __autoload($p_str_nom) {
    			include("inc/classes/$p_str_nom.php");
    		}
    $neuf = 120;
    $normal = 120;
    $mauvais = 120;
     
    $adresse = "rue de l'Eglise";
    $adresse2 = "999";
    $o_gestion_base = new gestion_base();
     
    $req_sql = "UPDATE neuilly SET neuf = ?, normal = ?, mauvais = ? WHERE adresse LIKE ?";
     
    		try {
     
    		// Préparation de la requête :
    			$o_preparer = $o_gestion_base->cnx->prepare($req_sql);
     
    		// Attribution des paramètres :
    		//	$o_preparer->bindValue(":adresse", $adresse, PDO::PARAM_STR);
    		//	$o_preparer->bindValue(":neuf", $neuf, PDO::PARAM_INT);
    		//	$o_preparer->bindValue(":normal", $normal, PDO::PARAM_INT);
    		//	$o_preparer->bindValue(":mauvais", $mauvais, PDO::PARAM_INT);
     
    		// Exécution de la requête SQL :
    			$o_preparer->execute(array("$neuf", "$normal", "$mauvais","%$adresse%"));
     
    		// Affichage de la réussite :
    			echo "<h3>Modification effectuée avec succès !</h3>";
    			echo $req_sql."<br/>";
    			echo '<hr />';
     
    		} catch (PDOException $p_e) {
    			echo "<h1 class=\"erreur\">ATTENTION ERREUR : La requête concernant l'ajout des valeurs a échoué. Merci de bien vouloir contacter le WebMaster à l'adresse suivante <a href=\"mailto:toto@titi.fr\">toto@titi.fr</a>, si le problème persiste.</h1>";
     
    			// A METTRE EN COMMENTAIRE
    			// LORS DU PASSAGE EN PRODUCTION :
    				echo $p_e->getMessage();
    		}

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

Discussions similaires

  1. Methode update qui ne fait rien
    Par isarian dans le forum ASP.NET
    Réponses: 10
    Dernier message: 18/06/2008, 15h22
  2. Réponses: 10
    Dernier message: 16/11/2006, 21h36
  3. [PHP-JS] Méthode flush() qui ne fait rien
    Par Khrysby dans le forum Langage
    Réponses: 9
    Dernier message: 21/05/2006, 19h55
  4. [debutant]programme qui ne fait rien.
    Par Battosaiii dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 04/12/2005, 22h19
  5. procédure stockée qui ne fait rien
    Par trotters213 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 10/03/2005, 20h25

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