[MySQL] Addition PHP ?

Résolu
TucSky Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -  
RiHLaK0R Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
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.

A voir également:

4 réponses

le père
 
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'].'"';
0
TucSky Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   1
 
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
0
TucSky Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   1
 
ps : La valeur initiale de balance est bien un nombre :)
0
le père
 
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 ;)
0
RiHLaK0R Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   1
 
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'].'"';
0