Modifier une valeur de la DB en additionnant le contenu d'une variable.
Résolu/Fermé
JC_8280
Messages postés
78
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
7 février 2021
-
30 déc. 2020 à 02:43
JC_8280 Messages postés 78 Date d'inscription jeudi 19 mars 2020 Statut Membre Dernière intervention 7 février 2021 - 30 déc. 2020 à 11:05
JC_8280 Messages postés 78 Date d'inscription jeudi 19 mars 2020 Statut Membre Dernière intervention 7 février 2021 - 30 déc. 2020 à 11:05
A voir également:
- Modifier une valeur de la DB en additionnant le contenu d'une variable.
- Modifier dns - Guide
- Modifier une story facebook - Guide
- Modifier liste déroulante excel - Guide
- Vous avez besoin d'une autorisation de la part de administrateurs pour modifier ce dossier - Guide
- Le fichier à télécharger correspond au contenu brut d’un courrier électronique. de quel pays a été envoyé ce message ? - Guide
4 réponses
jordane45
Messages postés
38469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 avril 2025
4 741
30 déc. 2020 à 08:21
30 déc. 2020 à 08:21
Bonjour
Avant tout, une requête ça se teste DIRECTEMENT dans la bdd (via phpmyadmin par exemple) AVANT d'essayer de l'utiliser dans son code php...
Je pense que tu as une erreur... Le mot STOCK est ecrit deux fois...
Avant tout, une requête ça se teste DIRECTEMENT dans la bdd (via phpmyadmin par exemple) AVANT d'essayer de l'utiliser dans son code php...
Je pense que tu as une erreur... Le mot STOCK est ecrit deux fois...
SET STOCK STOCK.value
JC_8280
Messages postés
78
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
7 février 2021
30 déc. 2020 à 09:45
30 déc. 2020 à 09:45
Oui, mais j'ai beau le tourner dans tout les sens, ça veut pas le faire.
Merci pour le conseil de test dans la bdd, je viens de le découvrir, mais malgré tout ça n'a pas résolu mon problème.
Une autre idée?
JCT
Merci pour le conseil de test dans la bdd, je viens de le découvrir, mais malgré tout ça n'a pas résolu mon problème.
Une autre idée?
JCT
jordane45
Messages postés
38469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 avril 2025
4 741
Modifié le 30 déc. 2020 à 09:53
Modifié le 30 déc. 2020 à 09:53
Donc,
En partant du principe que désormais tu testes bien ta requête DIRECTEMENT dans ta bdd ....
Quelle requête as tu écrits ... et quel message d'erreur obtiens tu ?
Car si tu n'as rien changé.. tu as forcément une erreur.....
A noter que -= en mysql.. ça n'existe pas me semble t"il .....
La "bonne" requête serait du genre
En gros ( mais ne connaissant pas le nom exact de tes colonnes... =
*** : <xxxxx> ... à remplacer par des vraies valeurs ( sans les < > )
En partant du principe que désormais tu testes bien ta requête DIRECTEMENT dans ta bdd ....
Quelle requête as tu écrits ... et quel message d'erreur obtiens tu ?
Car si tu n'as rien changé.. tu as forcément une erreur.....
A noter que -= en mysql.. ça n'existe pas me semble t"il .....
La "bonne" requête serait du genre
UPDATE cutting_tools_01 SET <champStock> = <champStock> - <valeuuraretirer> WHERE REF_MAG = '<unevraierefdetonchoixpourlestests>'
En gros ( mais ne connaissant pas le nom exact de tes colonnes... =
UPDATE cutting_tools_01 SET STOCK = STOCK -5 WHERE REF_MAG = '<unevraierefdetonchoixpourlestests>'
*** : <xxxxx> ... à remplacer par des vraies valeurs ( sans les < > )
JC_8280
Messages postés
78
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
7 février 2021
30 déc. 2020 à 10:38
30 déc. 2020 à 10:38
Voici ma requête dans la base de données. Et ça marche quand je process dans phpMyAdmin.
Mais ça ne fonctionne pas dans mon programme. Je n'ai pas de message d'alarme mais la base de données n'a pas l'air de se mettre à jour.


Mon code est :
JCT
Mais ça ne fonctionne pas dans mon programme. Je n'ai pas de message d'alarme mais la base de données n'a pas l'air de se mettre à jour.


Mon code est :
<?php try{ function cleanData($dataToClean){ $dataToClean = trim($dataToClean); $dataToClean = stripslashes($dataToClean); $dataCleaned = htmlspecialchars($dataToClean); return $dataCleaned; } $codeMag = cleanData($_POST["codeMag_21"]); $qteSortie = cleanData($_POST["qteSortie_21"]); $operateur = cleanData($_POST["codeOP_21"]); $gamme = cleanData($_POST["gamme_21"]); date_default_timezone_set("Europe/Paris"); $date1 = date("Y-m-d H:i:s"); //$date2 = date("U"); //--------------------------------------------------------------------------// //connexion à la bdd "hydro" //--------------------------------------------------------------------------// require_once "../cnxbdd.php"; // MISE A JOUR TABLE "mvt_magasin" $requete = $connexion->prepare("INSERT INTO mvt_magasin(CODE_MAGASIN,OPERATEUR, GAMME,QTE_SORTIE,DATE_1) VALUES(:CODE_MAGASIN,:OPERATEUR,:GAMME,:QTE_SORTIE,:DATE_1)" ); $requete->bindParam(':CODE_MAGASIN', $codeMag); $requete->bindParam(':OPERATEUR', $operateur); $requete->bindParam(':GAMME', $gamme); $requete->bindParam(':QTE_SORTIE', $qteSortie); $requete->bindParam(':DATE_1', $date1); $requete-> execute(); // MISE A JOUR STOCK DANS TABLE "cutting_tools_01" $sql2 = "UPDATE cutting_tools_01 SET STOCK = STOCK - $qteSortie WHERE REF_MAG = $codeMag"; $requete2 = $connexion->prepare($sql2); //$requete2 = $connexion->prepare("UPDATE `cutting_tools_01` SET `STOCK` = STOCK-$qteSortie WHERE 'CODE_MAGASIN' = $codeMag" /* UPDATE `cutting_tools_01` SET `STOCK`= `STOCK`- 5 WHERE `REF_MAG` = 45001 $requete2 = $connexion->prepare("SELECT STOCK FROM cutting_tools_01 WHERE REF_MAG = $codeMag" ); $requete2->execute(); $oldStock = $requete2->fetchAll(PDO::FETCH_ASSOC); $newStock = $oldStock - $qteSortie; */ } catch(PDOException $e){ echo 'ECHEC : ' .$e->getMessage(); } //echo "<script language='javascript'>window.close()</script>";
JCT
jordane45
Messages postés
38469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 avril 2025
4 741
30 déc. 2020 à 10:54
30 déc. 2020 à 10:54
Si tu oublies la moitié du code, normal que ça ne marche pas
//MISE A JOUR STOCK DANS TABLE "cutting_tools_01" $sql = "UPDATE cutting_tools_01 SET STOCK = STOCK - :QTE_SORTIE WHERE REF_MAG = :CODE_MAGASIN"; $requete = $connexion->prepare($sql); $requete->bindParam(':CODE_MAGASIN', $codeMag); $requete->bindParam(':QTE_SORTIE', $qteSortie); $requete-> execute();
JC_8280
Messages postés
78
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
7 février 2021
30 déc. 2020 à 11:05
30 déc. 2020 à 11:05
En effet...
Tous les automatismes ne sont pas encore acquis...
Merci, et meilleurs voeux 2021!!!
JCT
Tous les automatismes ne sont pas encore acquis...
Merci, et meilleurs voeux 2021!!!
JCT