Hey !

Avez vous une idée de comment je pourais ajouter des points avec ma requête ci-dessous ?
Je ne sais pas si mon souci vient du $_SESSION ou alors du =/+ au niveau de l'ajout du point.. :/

Voici mon bout de code :

<?php 
mysql_connect("datahost", "datauser", "datamdp");
mysql_select_db("dataname");
$result = mysql_query('UPDATE users SET points=10  WHERE id=$_SESSION');
header('Location: https://www.index.php');
   exit();

Merci pour votre aide :)

2 réponses


Gaspard
Réponse acceptée

Hello,

Pour ta requête, il suffit de faire un SET points = points + 10 et ta valeur va s'incrémenter de 10.

Pour le reste, je te recommande de suivre les conseils de @Lartak.

Bonne soirée,
Gaspard.

Bonsoir.
Pour commencer, la fonction mysql est dépréciée, donc soit tu utilises mysqli ou alors PDO.
Ensuite, ce n'est pas étonnant que tu aies un problème avec la variable $_SESSION, tu ne sembles pas savoir l'utiliser, je te recommandes donc vivement de te documenter sur son utilisation, surtout que si tu l'utilises dans de simples quotes, une variable n'est pas interprété, c'est comme si ce n'est qu'une chaîne de caractères.
Pour terminer, si tu veux en fait incrémenter la valeur du champ, tu t'y prends très mal, donc si par exemple la valeur en base de données actuellement est 3, avec la valeur que tu lui passes, ça ce fera que changer sa valeur à 10 et non à 13.
Quand tu utilises UPDATE, ça ne fait que modifier une valeur et rien de plus, il te faudrait donc d'abord récupérer la valeur actuelle du champ, incrémenter sa valeur avec PHP et faire la modification de la valeur du champ avec la nouvelle valeur.