Erreur requête php

Résolu/Fermé
boule2gom14 Messages postés 4 Date d'inscription mardi 8 janvier 2013 Statut Membre Dernière intervention 8 janvier 2013 - 8 janv. 2013 à 17:27
boule2gom14 Messages postés 4 Date d'inscription mardi 8 janvier 2013 Statut Membre Dernière intervention 8 janvier 2013 - 8 janv. 2013 à 18:19
Bonjour,

Je suis en train de réaliser pour une page web perso, une soustraction entre une valeur stocker dans une base MySQL et une valeur définie précédemment.

Mais j'ai une erreur dans le code que je n'arrive pas à réparer.

<?Php
$id=$_POST["id"]; //position dans la table
$mod=$_POST["mod"]; //valeur a soustraire


$connection=mysql_connect('localhost','root','') or die ('connexion impossible') ;

mysql_select_db('inventaire') or die ('base inconnue');

$mem=mysql_query("SELECT quantite FROM objet WHERE id = '$id'"); //recuperation de la valeur

echo $mem ; // test

$new=$mem - $mod ; // soustraction

mysql_query("UPDATE quantier SET $new FROM objet WHERE id='$id' ") or die ("verification nom d'article identique"); //remplacement de la valeur

?>


7 réponses

tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
8 janv. 2013 à 17:35
Salut,

Vous ne pouvez pas obtenir un résultat à partir de "$mem"
$mem=mysql_query("SELECT quantite FROM objet WHERE id = $id"); 
$donnees = mysql_fetch_assoc($mem);
$resultat = $donnees['quantite'];
echo $resultat;
 

note : non testé!
0
armasousou Messages postés 1270 Date d'inscription dimanche 16 août 2009 Statut Membre Dernière intervention 30 décembre 2016 83
8 janv. 2013 à 18:02
mysql_query("UPDATE quantier SET $new FROM objet WHERE id='$id' ") or die ("verification nom d'article identique"); //remplacement de la valeur

C'est plutot "UPDATE table SET valeur=$new WHERE id=$id" non ?
0
Bonjour

D'accord avec armasousou, j'ajouterais d'ailleurs qu'il n'y a pas besoin de faire un SELECT puis un calcul puis un UPDATE, tout se fait en une seul ligne :
mysql_query("UPDATE objet set quantier = quantite -$mod  WHERE id='$id' ") or die ("verification nom d'article identique"); //remplacement de la valeur 


D'ailleurs, quantier ne serait pas une faute de frappe pour quantite, par hasard ?
0
boule2gom14 Messages postés 4 Date d'inscription mardi 8 janvier 2013 Statut Membre Dernière intervention 8 janvier 2013
8 janv. 2013 à 18:06
Merci tryan44 cela ma permis de résoudre la première partie de mon problème.

armasousou j'ai essayé ta commande elle fait le même effet que la mienne, elle passe mais je fait aucun changement dans la base de donné
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
boule2gom14 Messages postés 4 Date d'inscription mardi 8 janvier 2013 Statut Membre Dernière intervention 8 janvier 2013
8 janv. 2013 à 18:10
en effet je n'y avais pas pensé le faire en une ligne.

lorsque j'essai votre commande j'obtiens toujours : verification nom d'article identique
0
Utilisateur anonyme
8 janv. 2013 à 18:15
remplace die ("verification nom d'article identique") par die (mysql_error());, tu auras un message d'erreur plus explicite
0
boule2gom14 Messages postés 4 Date d'inscription mardi 8 janvier 2013 Statut Membre Dernière intervention 8 janvier 2013
8 janv. 2013 à 18:19
Oui en effet cela a pu m'aidé a trouver l'erreur merci beaucoup pour votre aide.
0