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 :

variable contenant le champ d'une table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 248
    Par défaut variable contenant le champ d'une table
    Bonjour,

    Je débute en php et je rencontre le problème suivant:

    J'ai une fonction qui doit, devrait, aurait due faire un Update dans une table. C'est le champ de la table que j'aimerai passer en paramètre mais ça ne fonctionne pas.

    Le code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $param1="age";
    $requete="UPDATE user set '$param1'=50 where ... ";
    $resultat=mysql_query...
    si je remplace $param1 par age, la mise à jour s'effectue.

    Le champ age de la table user doit être un objet non?
    Merci

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Salut

    essaie comme ca :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $param1='age';
    $requete='UPDATE user set '.$param1.'=50 where ... ';
    $resultat=mysql_query...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 248
    Par défaut
    Bonjour,

    Cela ne change rien, pas d'actualisation de la table User...

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Place un die apres ta requete alors pour voir les erreurs

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query(...) or die(mysql_error());

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 248
    Par défaut
    voici la description de l'erreur

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''.age.' = '13' where login= 'toto'' at line 1

    Le champ age de la table user, dois je le créer et le définir en tant qu'objet de la classe user?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 248
    Par défaut
    hum hum, (interprétez gros raclement de gorge),
    en fin de compte il suffisait de faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $param1='age';
    $requete='UPDATE user set $param1=50 where ... ';
    $resultat=mysql_query...
    Merci pour ton intéret et ta contribution Madfrix

  7. #7
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Citation Envoyé par granchef Voir le message
    hum hum, (interprétez gros raclement de gorge),
    en fin de compte il suffisait de faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $param1='age';
    $requete='UPDATE user set $param1=50 where ... ';
    $resultat=mysql_query...
    Merci pour ton intéret et ta contribution Madfrix


    Normalement, ca ne marche pas car ta variable $param n'est pas interprétée (simple quote)

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 248
    Par défaut
    Je ne maitrise pas du tout le langage donc j'ai testé au hasard...

    Par contre maintenant je voudrais faire un update sur plusieurs champs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET &param1 = 50, &param2= 'Homme', ...
    Quel est la méthode la plus adaptée?

    En fait, l'internaute saisit son age, son sexe, sa situation familiale...
    Je sens intuitivement qu'accumuler des paramètres n'est pas bon pour la vitesse de réponse...
    Malheureusement je conceptualise mal php et du coup je ne sais même pas de quelle méthode j'ai besoin...

  9. #9
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Non, le nombre de paramètres dans ta requete n'est pas handicapant. Si c'est toujours le même nombre de paramètres pas de soucis sinon tu fais une boucle pour créer ta requete dynamiquement et le tour est joué

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 248
    Par défaut
    ok merci! Je m'y exerce de suite!

    A+!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/05/2010, 18h14
  2. Réponses: 1
    Dernier message: 31/08/2009, 22h48
  3. Recherche variable dans champs d'une table
    Par kemiolek dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 21/05/2008, 10h09
  4. Réponses: 5
    Dernier message: 04/04/2007, 16h11
  5. Stocker un champs d'une table dans une variable
    Par ju360modena dans le forum ASP
    Réponses: 3
    Dernier message: 15/06/2005, 08h44

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