[MySQL] Addition PHP ?
Résolu
TucSky
Messages postés
32
Statut
Membre
-
RiHLaK0R Messages postés 14 Statut Membre -
RiHLaK0R Messages postés 14 Statut Membre -
Bonjour,
Je cherche a additioner une Valeur (déjà présente dans une base Mysql) à un nombre à l'aide d'une requete SQL :
"$balance" est la valeur initiale
"200" est la valeur que je veut lui ajouter
Mais sa ne fonctionne pas, quelqu'un sais pourquoi ou comment faut il proceder pour faire une addition php ?
Merci d'avance.
Je cherche a additioner une Valeur (déjà présente dans une base Mysql) à un nombre à l'aide d'une requete SQL :
$sql ='UPDATE iConomy SET balance="'.$balance.'+200" WHERE username="'.$_POST['username'].'"';
"$balance" est la valeur initiale
"200" est la valeur que je veut lui ajouter
Mais sa ne fonctionne pas, quelqu'un sais pourquoi ou comment faut il proceder pour faire une addition php ?
Merci d'avance.
4 réponses
-
Bonjour
Supposons que $balance vaut 300 au départ
Tu pourrais faire en mysql :
$sql ='UPDATE iConomy SET balance=300+200 WHERE username="'.$_POST['username'].'"';
ou
$sql ='UPDATE iConomy SET balance=500 WHERE username="'.$_POST['username'].'"';
Mais toi tu fais
$sql ='UPDATE iConomy SET balance="300+200" WHERE username="'.$_POST['username'].'"';
Tu ne fais pas une addition, mais une concaténation de chaînes.
Tu peux faire par exemple
$sql ='UPDATE iConomy SET balance='.$balance+200." WHERE username="'.$_POST['username'].'"'; -
Pour :
$sql ='UPDATE iConomy SET balance=300+200 WHERE username="'.$_POST['username'].'"'; ou $sql ='UPDATE iConomy SET balance=500 WHERE username="'.$_POST['username'].'"';
Sa fonctionne, mais pour :
$sql ='UPDATE iConomy SET balance='.$balance+200." WHERE username="'.$_POST['username'].'"';
J'obtient l'erreur
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /public_html/x/test.php on line 16
Je débute mais se serais pas un problème de " ou de ' ? :/
Merci -
Erreur dans les ' et ". Faute d'inattention de ma part
$sql ='UPDATE iConomy SET balance='.$balance+200.' WHERE username="'.$_POST['username'].'"';
Mais si je peux me permettre, tu partages la faute. Tu as le droit, pour ne pas dire le devoir, d'avoir un regard critique sur les solutions qu'on te propose ;) -
Pas du tous !
Pourquoi :'.$balance+200.'
?
'.$variable.'
permet l'interprétation d'une variable dans la requête, or +200 n'est pas une variable.
Essaies plutôt :$sql ='UPDATE iConomy SET balance='.$balance.'+200' WHERE username="'.$_POST['username'].'"';