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 qui ne se fait pas [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut UPDATE qui ne se fait pas
    Bonjour,

    j'ai beau chercher, je ne trouve pas pourquoi cet update ne se fait pas (j'ai simplifié le code) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $query_infotech = "UPDATE infotech SET name=:name,ram=:ram WHERE name=:name2";
    $marqueur_infotech=array(':name'=>$insname,':ram'=>$insram,':name2'=>$insname);	
    $qid=$bdd->prepare($query_infotech);
    $qid->execute($marqueur_infotech);

    Pour dire que ça ne marche pas, plus loin, je fais ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $sql="SELECT machines.name,infotech.* FROM machines,infotech
    	  WHERE machines.id=:id AND machines.name=infotech.name";
     
    $qid = $bdd->prepare($sql);
    $qid->execute(array(':id'=>$id));
    $row = $qid->fetchAll(PDO::FETCH_ASSOC);
    ...
    echo strtolower($row[0]["ram"]);
    Le echo montre que la modification n'a pas été prise en compte et la requête SQL est bonne (testée avec phpMAdmin)

  2. #2
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    il manque des bouts pour debugger, ptetre name2 vide, ptetre autre chose ^^
    Essaie d'afficher les erreurs SQL.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Comme toujours : EXPLIQUE avec SUFFISAMMENT d'infos :
    • ce que tu as
    • ce que tu fais
    • ce quetu obtiens
    • ce que tu veux obtenir
    • le message d'erreur éventuel.

    1/
    $query_infotech = "UPDATE infotech SET name=:name,ram=:ram WHERE name=:name2";
    $marqueur_infotech=array(':name'=>$insname,':ram'=>$insram,':name2'=>$insname);
    A quoi bon modifier par... la même valeur ??
    Si tu ne modifies QUE la "ram" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query_infotech = "UPDATE infotech SET ram=:ram WHERE name=:name2";
    $marqueur_infotech=array(':ram'=>$insram,':name2'=>$insname);
    Sinon... EXPLIQUE !!!


    2/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $row = $qid->fetchAll(PDO::FETCH_ASSOC);
    ...
    echo strtolower($row[0]["ram"]);
    Un peu ridicule, non ?
    Tu fais un SELECT sur un id... auto-incrémenté -> UNE SEULE réponse possible !
    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $row = $qid->fetch(PDO::FETCH_ASSOC);
    ...
    echo strtolower($row["ram"]);

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Je reviens sur ce sujet.

    En fait, le update se fait bien, à condition de mettre une valeur valide !

    Sinon, le point 1 de jreaux62 ; effectivement ; c'était écrit comme ça dans le code que j'ai récupéré donc je l'avais laissé mais ça ne sert à rien.

    Sinon, le point 2 : si j'enlève le [0], ça ne marche plus !

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

Discussions similaires

  1. UPDATE sur multiligne qui ne se fait pas
    Par Jiyuu dans le forum Langage SQL
    Réponses: 12
    Dernier message: 16/04/2015, 16h12
  2. [Ajax.NET]UpdataPanel.Update() qui ne se fait pas
    Par rad_hass dans le forum ASP.NET
    Réponses: 4
    Dernier message: 12/03/2009, 09h27
  3. [MySQL] UPDATE qui ne se fait pas
    Par VoteForMe dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/09/2008, 13h42
  4. [MySQL] MySQL Update qui ne se fait pas
    Par philippef dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 10/07/2008, 17h30
  5. Pb de selection qui ne se fait pas
    Par Stef.proxi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/08/2004, 10h54

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