[MySLQ] Modifier une valeur dans une base de donné

Eléphant du PHP | 243 Messages

06 nov. 2011, 22:21

Bonsoir,
Je suis actuellement en train de faire un site pour un serveur de jeux, et j'aimerais y intégrer une boutique. Je voudrais juste vous posez une petite question.
Je vous explique, l'utilisateur, connecté, ira dans la boutique, et si le code est bon, il sera rédigé vers une page qui lui rajoutera 100 points à son compte. Je vous montre le code que j'ai rédigé :
<?php
		$base = mysql_connect ('**.**.***.***', 'rweiawag_users', '***********');
		mysql_select_db ('rweiawag_users', $base);
    
    $sql = 'SELECT money FROM users WHERE login="'.mysql_escape_string($_SESSION['login']).'"';
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// Je ne suis plus sur à partir d'ici
	$money = mysql_result($sql, 0);
	
	$result = mysql_fetch_array($sql) or die(mysql_error());
	$money = $money+100;
// ici je crois qu'il faudrait mettre un $sql mais je ne sais pas comment le mettre.


?>

Merci de votre aide.
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 nov. 2011, 23:53

salut,

il te faut faire un update

par exemple : update users set money = money+100 where login='login en session'


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 243 Messages

07 nov. 2011, 00:30

J'ai essayé ce code :

<?php
		$base = mysql_connect ('**.**.***.***', 'rweiawag_users', '**********');
		mysql_select_db ('rweiawag_users', $base);
    
    $sql = 'SELECT money FROM users WHERE login="'.mysql_escape_string($_SESSION['login']).'"';
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
	
	$money = +100;
	mysql_query("UPDATE users SET money = money+100 WHERE login="'.mysql_escape_string($_SESSION['login']).'"") or die (mysql_error());  




?>

Mais j'ai une erreur à la ligne UPDATE.

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home2/rweiawag/public_html/validation.php on line 47

Merci
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Mammouth du PHP | 661 Messages

07 nov. 2011, 00:45

heuu ..; déja, vérifie la place de tes quote dans la clause where ! :wink:

Mammouth du PHP | 672 Messages

07 nov. 2011, 14:30

Commence par séparer la chaîne de requête de la requête en elle-même...
Ainsi tu pourras afficher la chaîne, et voir si elle te semble correcte.
<?php
$sql_update = "UPDATE users SET money = money+100 WHERE login="'.mysql_escape_string($_SESSION['login']).'"";
mysql_query($sql_update) or die ("Erreur de mise à jour <br />$sql_update<br />".mysql_error());  
Sinon, si tu utilises un éditeur de texte à coloration syntaxique (ou en lisant le code PHP sur le forum) tu pourras constater qu'il y a un problème :roll:

Eléphant du PHP | 243 Messages

07 nov. 2011, 17:44

Macgawel, j'ai essayé ton code et j'ai eu une erreur. Je vous donne tous mon code pour vous faire savoir à quel stade je suis.

<?php
		$base = mysql_connect ('87.98.169.237', 'rweiawag_users', 'users');
		mysql_select_db ('rweiawag_users', $base);
	$sql_update = "UPDATE users SET money = money+100 WHERE login="'.mysql_escape_string($_SESSION['login']).'"";
mysql_query($sql_update) or die ("Erreur de mise ?our <br />$sql_update<br />".mysql_error());  

mysql_close(); 

?>
Merci à ceux qui m'aide ! :priere:
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Eléphant du PHP | 243 Messages

07 nov. 2011, 18:12

J'ai réussi, merci à vous.

Voici ce que j'ai modifié:
$sql_update = 'UPDATE users SET money = money+100 WHERE login="'.mysql_escape_string($_SESSION['login']).'"';
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Eléphant du PHP | 83 Messages

19 nov. 2011, 00:09

Qd il s'agit de mettre une requête SQL ds du code PHP, je commence par valider la requête en l'exécutant ds une interface spécialisée (style phpMyAdmin).