[MySQL] Addition PHP ?

Résolu
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.

4 réponses

  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'].'"';
    1. 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 ;)
      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
        1. ps : La valeur initiale de balance est bien un nombre :)
      2. 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'].'"';