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 :

Update en PDO


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut Update en PDO
    Bonjour,

    J'ai un problème avec l'update en PDO, j'essaye de modifier un membre dans une bdd mais le problème il n'y a aucune modification au niveau BDD, lorsque j'appuie sur GO! pour pouvoir modifier un membre du nom "hello" et du level=0. Il y a ceci dans la barre d'adresse, donc il prend bien compte de mes saissies mais rien d'autre...! :

    "http://localhost/***/***.php?login=salut&level=2&envoyer=envoyer&id=64"

    Le code ne m'affiche aucun message d'erreur ...

    Merci de m'aider !

    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
    41
    42
    function ModifierMembre()
    {
    $PageEnCours=$_SERVER['PHP_SELF'];
    $dbh = new PDO('mysql:host=localhost;dbname=toto','tata,'titi');
    $id=$_GET['id'];
    $login=$_GET['login'];
    $level=$_GET['level'];
    $tab=<<<EOT
    <form action="" method="GET"> <table border=1>
    EOT;
    $req1=$dbh->prepare("SELECT * FROM testig1 WHERE id=:id");
    $req1->bindParam(':id',$id,PDO::PARAM_INT);
    $req1->execute();
    while($row = $req1->fetch())
    		{
    			$tab.=<<<EOT
    			<tr>
    				<td><font face="diavlo">{$row['login']}</font></td>
    				<td><input type="text" name="login" value="{$row['login']}"/></td>
    				<td><font face="diavlo">{$row['level']}</font></td>
    				<td><input type="text" name="level" value="{$row['level']}"/></td>
    				<td><input type="submit" name="envoyer" value="envoyer"><input type="hidden" name="id" value="{$row['id']}" /></td>
    			</tr>
     
     
    EOT;
    		}
     
    	$tab.="</table></form>";
    	return $tab;
    if(isset($_GET['envoyer']))
    {
    			$dbh = new PDO('mysql:host=localhost;dbname=toto','tata','titi');
    			$sql=$dbh->prepare("UPDATE testig1 SET login=:login, level=:level WHERE id=:id'");
    			$sql->bindParam(':login',$_GET['login'],PDO::PARAM_STR);
    			$sql->bindParam(':level',$_GET['level'],PDO::PARAM_INT);
    			$sql->bindParam(':id',$_GET['id'],PDO::PARAM_INT);
    			$sql->execute();
    			$body= ModifierMembre();
    			return $body;
    }	
    }

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Bonjour,

    ici :
    $dbh = new PDO('mysql:host=localhost;dbname=toto','tata,'titi');
    tu a un problème de '', je sais pas si c'est un problème de copier coller après tata tu ne ferme pas la quote.

    donc remplace ta ligne par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dbh = new PDO('mysql:host=localhost;dbname=toto','tata','titi');
    De plus,

    tu créer un <input type="submit" ... /> pour chaque utilisateur que tu peut mettre à jour,

    sauf que quelque soit le bouton sur le quel tu clique tous le formulaire dont les inputs seront valorisé (dans la quel tu donne une valeur) sera envoyé,

    fait un var_dump($_GET) au début de ta méthode pour voir se que t'envoi ton formulaire.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut
    Juste une faute de copier coller je m'excuse.. Up please pour le var_dump je l'es fait mais rien m'a aidé

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    En plein milieu de ton code tu fais un return $tab; et après tu poursuis par un if (isset(...)).
    Le return provoque la sortie immédiate de ta fonction ModifierMembre().

Discussions similaires

  1. [PDO] Requete UPDATE avec PDO fonctionnelle en local mais pas sur OVH
    Par olinet dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/12/2014, 14h57
  2. [MySQL] Update avec PDO
    Par moudjahidine dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 30/06/2014, 14h28
  3. [MySQL] Problème sur un UPDATE via PDO
    Par Rony Rauzduel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/01/2011, 10h16
  4. [PDO] PDO :: lastInsertId() durant un update
    Par sliderman dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/05/2008, 13h38
  5. [PDO] Update
    Par Yoshio dans le forum Langage
    Réponses: 12
    Dernier message: 11/09/2006, 14h27

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