Problème de requete mysql php
deuch_le_vrai
Messages postés
44
Statut
Membre
-
deuch_le_vrai Messages postés 44 Statut Membre -
deuch_le_vrai Messages postés 44 Statut Membre -
Bonjour,
je suis débutant en php et je pense que mon erreur de script est débile ...
Je voudrais que quand le visiteur clique sur le bouton, mysql retire sa sélection (1,2,3,4,5 ou 10) multiplié par 10 dans "credits" de l'utilisateur "Deuch" dans la table "membres".
Ce qui est bizzare c'est que php m'affiche "Achat effectué avec succès !" alors que les crédits de Deuch n'ont pas été soustrait.
Merci d'avance, j'espère que c'est assez claire. Voici mon code :
<?php
session_start();
if (isset($_SESSION['login'])){
echo $_SESSION['login'];
}
elseif ($_SESSION['login'] == NULL)
{
echo "Vous n'avez pas l'autorisation d'accèder à cette page !";
}
$hostname = "localhost";
$database = "test";
$username = "root";
$password = "";
$connection = mysql_connect($hostname, $username, $password) or die(mysql_error());
// Connexion à la base
mysql_select_db($database, $connection);
?>
<HTML>
<form action="boutique.php" method="post">
<SELECT name="nombre" size="1">
<OPTION>1
<OPTION>2
<OPTION>3
<OPTION>4
<OPTION>5
<OPTION>10
</SELECT>
<INPUT type="submit" value= "Acheter"
onclick="javascript:window.location.reload()">
</FORM>
</HTML>
<?php
echo $_POST['nombre'];
if (isset($_POST['nombre'])){
$_POST['nombre'] = mysql_real_escape_string($_POST['nombre']);
$bdd = "UPDATE membres SET credits-('\$_POST['nombre']'\*10) WHERE pseudo = 'Deuch'";
$inser_exec = mysql_query($bdd);
echo "Achat effectué avec succès !";
}
?>
je suis débutant en php et je pense que mon erreur de script est débile ...
Je voudrais que quand le visiteur clique sur le bouton, mysql retire sa sélection (1,2,3,4,5 ou 10) multiplié par 10 dans "credits" de l'utilisateur "Deuch" dans la table "membres".
Ce qui est bizzare c'est que php m'affiche "Achat effectué avec succès !" alors que les crédits de Deuch n'ont pas été soustrait.
Merci d'avance, j'espère que c'est assez claire. Voici mon code :
<?php
session_start();
if (isset($_SESSION['login'])){
echo $_SESSION['login'];
}
elseif ($_SESSION['login'] == NULL)
{
echo "Vous n'avez pas l'autorisation d'accèder à cette page !";
}
$hostname = "localhost";
$database = "test";
$username = "root";
$password = "";
$connection = mysql_connect($hostname, $username, $password) or die(mysql_error());
// Connexion à la base
mysql_select_db($database, $connection);
?>
<HTML>
<form action="boutique.php" method="post">
<SELECT name="nombre" size="1">
<OPTION>1
<OPTION>2
<OPTION>3
<OPTION>4
<OPTION>5
<OPTION>10
</SELECT>
<INPUT type="submit" value= "Acheter"
onclick="javascript:window.location.reload()">
</FORM>
</HTML>
<?php
echo $_POST['nombre'];
if (isset($_POST['nombre'])){
$_POST['nombre'] = mysql_real_escape_string($_POST['nombre']);
$bdd = "UPDATE membres SET credits-('\$_POST['nombre']'\*10) WHERE pseudo = 'Deuch'";
$inser_exec = mysql_query($bdd);
echo "Achat effectué avec succès !";
}
?>
4 réponses
-
Bonjour
Modifie l'appel à mysql :
echo '<br />',$bdd,'<br />'; $inser_exec = mysql_query($bdd) or die(mysql_error());
Tu devrais voir que ta requête a une drôle d'allure, et un message d'erreur.
Ça devrait te guider pour corriger toi-même -
$bdd = "UPDATE membres SET credits=credits-($_POST[nombre]*10) WHERE pseudo = 'Deuch'";
-
Merci beaucoup pour ta réponse !
Mais je ne vois toujours pas comment faire comprendre à php que je veux qu'il multiplie par 10 $_POST['nombre'] et qu'il soustrait le résultat au credits de "Deuch"...
Comment caser $_POST dans une requete ?
décidément je n'y comprend vraimment rien ...
Merci d'avance -
Ok merci beaucoup !
Je n'avais pas pensé à supprimer les apostrophes de nombre !
Merci !