8791 sujets
Eh bien oui.
Pourquoi en irait-il autrement?
Une variable c'est une variable. session ou pas.
d'ailleurs code sql et code php sont 2 choses totallement séparées.
cherche dans ton code verifies que tu utilises les bons champs.
le format de ta requete semble bon.
as tu mis session_start(); au debut de ta page? car c'est nécessaire pour que les variables sessions soient initialisées.
Modifié par CPascal (03 Jan 2008 - 23:39)
Pourquoi en irait-il autrement?
Une variable c'est une variable. session ou pas.
d'ailleurs code sql et code php sont 2 choses totallement séparées.
cherche dans ton code verifies que tu utilises les bons champs.
le format de ta requete semble bon.
as tu mis session_start(); au debut de ta page? car c'est nécessaire pour que les variables sessions soient initialisées.
Modifié par CPascal (03 Jan 2008 - 23:39)
Salut,
Il y a certainement une erreur dans la requête SQL, tu devrais essayer de la récupérer en utilisant mysql_error() ... Il est aussi utile de visualiser la requête complète avant de l'exécuter, simplement en faisant un echo :
Il y a certainement une erreur dans la requête SQL, tu devrais essayer de la récupérer en utilisant mysql_error() ... Il est aussi utile de visualiser la requête complète avant de l'exécuter, simplement en faisant un echo :
$query = 'UPDATE table SET abandon = '.$_SESSION['stock'].' WHERE ...' ;
[b]echo $query ;[/b]
mysql_query($query) [b]or die(mysql_error())[/b] ;

voici le code (épuré)
<?php
session_start();
$id = $_SESSION['id'];
include 'connexion.php';
$maj = mysql_query ("UPDATE map SET abandon=".$_SESSION['stock']." WHERE posx=".$rsa['posx']." AND posy=".$rsa['posy']." ");
echo $maj ;
mysql_query($maj) or die(mysql_error()) ;
include("page_membre.php");
cela affiche Query was empty
non, désolé Heyoan, avec ta méthode j'ai une erreur sql qui s'affiche:
UPDATE map SET abandon=./objet/fer.gif WHERE posx=0 AND posy=0 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '/objet/fer.gif WHERE posx=0 AND posy=0' at line 1
sinon, j'ai toujours le query was empty, pourtant la variable de session existe bien, elle s'affiche sur la page qui précéde ce script.
UPDATE map SET abandon=./objet/fer.gif WHERE posx=0 AND posy=0 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '/objet/fer.gif WHERE posx=0 AND posy=0' at line 1
sinon, j'ai toujours le query was empty, pourtant la variable de session existe bien, elle s'affiche sur la page qui précéde ce script.
Je suis navré mais ca fonctionne toujours pas
voici le script en entier (des fois qu'une erreur coince ailleurs?)

voici le script en entier (des fois qu'une erreur coince ailleurs?)
<?php
session_start();
$id = $_SESSION['id'];
$quantité=$_POST['quantité'];
include 'connexion.php';
$sql = "SELECT gestion ".
"FROM membres ".
"WHERE id = ". $id ." ";
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
($data = mysql_result($res,0,'gestion'));
if ($data== './image/jetonrouge.gif')
{
echo '<center><font color="red">Désolé, mais VOTRE JETON EST ROUGE !</font></center>
<center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>';
}
else
{
$verif = "SELECT qstock FROM membres WHERE id = ". $id ." ";
$res=mysql_query($verif) or die('Erreur SQL '.$verif.'<br>'.mysql_error());
($data = mysql_result($res,0,'qstock'));
if ($data <= '$quantité')
{
echo '<center><font color="red">Désolé, mais vous ne pouvez pas ABANDONNER autant, réduisez la quantité.</font></center>
<center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>';
}
else
{
$requete = mysql_query("SELECT map FROM membres WHERE id = ". $id ." ") or die(mysql_error());
$data= mysql_fetch_assoc($requete);
$situation= $data['map'];
switch ($situation){
case "map":
$req = mysql_query("SELECT posx, posy FROM membres WHERE id = ". $id ." ") or die(mysql_error());
$rsa= mysql_fetch_assoc($req);
$posx = $rsa['posx'];
$posy = $rsa['posy'];
$maj = "UPDATE map SET abandon='".$_SESSION['stock']."', qabandon='$quantité' WHERE posx=".$rsa['posx']." AND posy=".$rsa['posy']." ";
$maj2 = mysql_query ("UPDATE membres SET qstock=qstock-$quantité, exp=exp+0.1,
mp='Vous avez abandonné tout ou partie de votre stock ici.' WHERE id = ". $id ." ");
if($maj2){
$_SESSION['qstock']= $_SESSION['qstock']-$quantité;
$_SESSION['exp']= $_SESSION['exp']+0.1;
$_SESSION['mp']= 'Vous avez abandonné tout ou partie de votre stock ici.';
}
include("page_membre.php");
break;
exit;
}
}
}
mysql_close();
?>
Salut,
déjà il faudrait éviter les accents dans le nom des variables
!
ensuite remplacer :
Et puis croiser les doigts et réessayer
!
A+
déjà il faudrait éviter les accents dans le nom des variables

ensuite remplacer :
if ($data <= '$quantité')
[b]par[/b]
if ($data <= $quantite)
Et puis croiser les doigts et réessayer

A+
C'est à n'y RIEN comprendre, ca marche à présent !
J'ai eu un soucis de session? chez mon hébergeur, le problème devait etre lié!
J'ai eu un soucis de session? chez mon hébergeur, le problème devait etre lié!
$maj = mysql_query ("UPDATE map SET abandon='".$_SESSION['stock']."', qabandon='$quantité' WHERE posx=".$rsa['posx']." AND posy=".$rsa['posy']." ") or die (mysql_error());