Problème variable requète SQL

Résolu/Fermé
Florian54700 - 25 févr. 2009 à 08:20
 Florian54700 - 25 févr. 2009 à 09:27
Bonjour,

J'aurais voulu savoir si cette syntaxe est bonne. En effet, mes requètes ne sont pas éxecutés.

$update_prix = mysql_query("UPDATE joueurs SET '".$nom."'='".$price['Price']."' WHERE Nom='".$_SESSION['nom']."'");

La variable $nom contient bien ce que je veux, et $_SESSION['nom'] aussi.

Seulement je ne sais pas si on peut mettre une variable en tant que nom de champ.

Merci de bien vouloir m'éclairer.

Florian

2 réponses

Bonjour
je ne sais pas si on peut mettre une variable en tant que nom de champ
Pour PHP, cette question n'a pas de sens. Ce que tu fais quand tu écris "UPDATE joueurs SET '".$nom."'='".$price['Price']."' WHERE Nom='".$_SESSION['nom']."'", c'est une concaténation de plusieurs chaines qui sont pour certaines des variables, pour d'autres des constantes. Mais PHP ne sait absolument pas ce que c'est qu'un champ d'une requête mysql. Il n'a donc aucune raison d'accepter des variables à un endroit et pas à un autre : ce sont partout des morceaux de chaine.
Par contre, quand cette chaîne aura été créée (sans problème) et que tu vas la passer à mysql pour qu'il exécute la requête, il va y avoir un problème : tu as mis le nom de champ entre apostrophes, (SET '$nom' ) alors qu'il faut soit rien, soit des accents graves ` autour des noms des champs. C'est autour des valeurs qu'il faut des '
0
Merci bien pour votre réponse qui a réglé mon problème.
Toujours aussi rapide et satisfaisant l'aide sur ce forum.

Cordialement
0