[MySQL] Addition PHP ?

Résolu/Fermé
TucSky Messages postés 32 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 15 mars 2022 - 29 juin 2011 à 14:45
RiHLaK0R Messages postés 10 Date d'inscription dimanche 8 avril 2012 Statut Membre Dernière intervention 21 décembre 2012 - 4 nov. 2012 à 17:40
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

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 mercredi 29 juin 2011 Statut Membre Dernière intervention 15 mars 2022 1
29 juin 2011 à 15:13
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 mercredi 29 juin 2011 Statut Membre Dernière intervention 15 mars 2022 1
Modifié par TucSky le 29/06/2011 à 15:18
ps : La valeur initiale de balance est bien un nombre :)
0
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 dimanche 8 avril 2012 Statut Membre Dernière intervention 21 décembre 2012 1
Modifié par RiHLaK0R le 4/11/2012 à 17:41
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