Probleme sql UPDATE

Leums
Invité n'ayant pas de compte PHPfrance

22 mai 2013, 11:16

Bonjour,

mysql_query("UPDATE '".DB_STATS."' SET winpot ='.$winpot.+100' WHERE player = '".$usr."' ");

Sa ne m'affiche aucune erreur mais sa ne modifie pas la valeur dans la base [/contents/sql/sqlintro.php3 sql].

J'aimerais modifier la valeur winpot dans DB_STATS en additionant la valeur winpot actuelle et en ajoutant 100 a celle ci.

Si quelqun peut m'aider ? merci

PS: winpot est bien un chiffre.

Eléphant du PHP | 160 Messages

22 mai 2013, 11:28

Bonjour,

Tu devais essayer
$sql = 'UPDATE DB_STATS SET winpot = '.$winpot + 100.' WHERE player = '.$usr;

mysql_query($sql);

DB_STATS c'est le nom de ta table non ?
Mais pas sur ^^'

Leumss
Invité n'ayant pas de compte PHPfrance

22 mai 2013, 21:30

Non sa ne marche pas, merci quand même.. Je ne comprend pas j'ai essayer dans tous les sens...

J'arrive a modifier la valeur winpot mais pas a ajouter à cette valeur...

Voici le code de ma page :
<? 
require('includes/gen_inc.php'); 
require('includes/inc_myplayer.php');
 
$winpot = ((RENEW == 1)? 100 : 0); 
 $result = mysql_query("UPDATE ".DB_STATS." SET winpot = '".$winpot."' WHERE player = '".$usr."' ");

header('Location: myplayer.php'); 
?>
Comment modifier pour ajouter 100 a la valeur winpot deja enregistrer et non modifier la valeur winpot par 100 ? Merci beaucoup ! :(

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

22 mai 2013, 21:37

salut,


update table set winpot = winpot +100 where WHERE player = 'dsdkjhdskhds'


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

Leumss
Invité n'ayant pas de compte PHPfrance

22 mai 2013, 21:53

Sa marche toujours pas.. pfff je comprend pas. je suis sous php 4 sa peut poser probleme ?

Leumss
Invité n'ayant pas de compte PHPfrance

22 mai 2013, 21:54

<? 
require('includes/gen_inc.php'); 
require('includes/inc_myplayer.php');
 
$sql = UPDATE stats SET winpot = .$winpot. +100 WHERE player = '.$usr.';

mysql_query($sql); 

?>
Voice ce que j'ai...

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

22 mai 2013, 21:58

nan mais déjà ton code n'est pas syntaxiquement correct !

je t'ai donné la requête SQL cela n'a rien a voir avec la version de php.
<?php
require('includes/gen_inc.php'); 
require('includes/inc_myplayer.php');
 
$sql = 'UPDATE stats SET winpot = winpot +100 WHERE player = \''.$usr.'\'';

mysql_query($sql); 
?>
voila qui est correct.


pour : ça ne marche n'aide à pas comprendre et heureusement que ça en marche pas sinon tu devrais le suivre ..... (ça fonctionne ou pas ;) )


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

Petit nouveau ! | 2 Messages

23 mai 2013, 01:00

Désolé :mrgreen: Bon sa fonctionne toujours pas..
Il faut que j'utilise les variable
.$winpot. et .$usr.
pour usr pas de soucis mais comment intégrer winpot ? merci

Eléphant du PHP | 160 Messages

23 mai 2013, 08:08

Bonjour,

Tu as essayer avec la même syntaxe que ce que Moogli à mis pour $usr ?
<?php
require('includes/gen_inc.php');
require('includes/inc_myplayer.php');
 
$sql = 'UPDATE stats SET winpot = \''.$winpot.'\' +100 WHERE player = \''.$usr.'\'';

mysql_query($sql);
?>
Avec un peu de chance :p

Eléphant du PHP | 267 Messages

23 mai 2013, 08:29

salut,

1) teste la requête directement dans phpmyadmin
2) fais un echo de ta requête avant de l'exécuter

@+
dix2

Petit nouveau ! | 2 Messages

23 mai 2013, 19:54

Bonjour,

Tu as essayer avec la même syntaxe que ce que Moogli à mis pour $usr ?
<?php
require('includes/gen_inc.php');
require('includes/inc_myplayer.php');
 
$sql = 'UPDATE stats SET winpot = \''.$winpot.'\' +100 WHERE player = \''.$usr.'\'';

mysql_query($sql);
?>
Avec un peu de chance :p

Toujours pas mdr merci quand même !
Peut etre qu'il faudrais que j'indique sur la meme page
$winpot ='".$winpot."'
?

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

23 mai 2013, 21:50

bon on va faire simple, tu fait la requete en SQL et après tu essai en php, parce que la ce que tu demande c'est basique.

si tu fait une somme c'est qu'il s'agit d'un chiffre donc pas de ' car dans ce cas c'est une chaine de caractère et on additionne pas de chiffres et de lettres (sans jeux de mots).

la base d'un update c'est : update latabel set lechamp=valeur where condition.

donc
$sql = 'UPDATE stats SET winpot = \'.$winpot.'  WHERE player = \''.$usr.'\'';
est valide.

pour le sql : http://sqlpro.developpez.com


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