Insérer une variable dans une requete sql

[Résolu]
Signaler
Messages postés
50
Date d'inscription
lundi 30 octobre 2006
Statut
Membre
Dernière intervention
3 décembre 2007
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour a tous;
je cherche a integrer une variable php dans une requéte my sql.
exemple:

$id = $_POST['listeJoueurs'];  //je recupere l'id correspond a un joueur dans la table joueurs(sur la page php d'avant, ok!)

$query = mysql_fetch_array(mysql_query ("SELECT motDePasse FROM joueurs where id='$id'
"));//je recupere le mot correspondant a cette id (marche pas!!)

echo $query ['motDePasse'];// je l'affiche

Voila, je pense que c'est la partie en gras qui fonctionne pas.
D'autre part je pense pas que ce code soit tres optimisé, si quelqu'un sait comment le racourcir?

Merci d'avance.

6 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
Salut,

Tu n'a surement pas chercher longtemps le nom de scripts qui fait ca est impressionnant, > >98% des prog PHP le font

"SELECT motDePasse FROM joueurs where id=
'" + $id + "'"

Il s'agit d'une simple concaténation de chaine.
apres il faut mettre une ' si ton id  est une chaine de caractère.
Attention si tu as une ' dans ta valeur de champs si faut les doublées.

Cherche un peu si tu as d'autres problemes

Bon courage.
Messages postés
50
Date d'inscription
lundi 30 octobre 2006
Statut
Membre
Dernière intervention
3 décembre 2007

merci,
tu sais quand on débute on galére un peu sur tout.
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
Je sais c'est pourquoi j'ai complete le message.
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Salut,

PHP ne supporte pas les requêtes paramétrées ou tout autre moyen permettant de limiter les risques d'injection SQL ?

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
Salut coq,

PHP n'est pas mon langage de predilection, je plus orienté .NET comme toi, il me semble.

Donc pour info

MYSQL supporte les requetes parametrees depuis la version 4.2 apparament.

Une page de documentation
http://fr.php.net/mysql_real_escape_string

Pour info PHP5 semble introduire les requetes paramétrees.
http://maximilian.developpez.com/mysql/prepared-statements/

Et sinon il y a pear:DB
http://pear.php.net/manual/en/package.database.db.intro-query.php

A final je suis d'accord avec toi et j'utilise le plus possible les requetes paramétrées en dotnet et vb6, java.
Mais je me suis jamais poser la question en PHP, j'ai decouvert quelquechose ;-)

Bon coding
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Ca me rassure aussi ^^

/*
coq
MVP Visual C#
CoqBlog
*/