Partage
  • Partager sur Facebook
  • Partager sur Twitter

[MySQL] Ajouter 1 a une valeur SQL

    8 novembre 2019 à 20:35:53

    Bonsoir à vous,

    Je voudrais faire la même chose que dans ce poste pour faire simple (Ajouter un à une valeur dans la BDD)

    https://openclassrooms.com/forum/sujet/mysql-ajouter-1-a-une-valeur-sql-98285

    Celle problème ça ne fonctionne pas ! :euh:

    if(!empty($pieces_moins) AND !empty($quantite)){
    	$req = $bdd->prepare('UPDATE kodak_pieces SET quantite = '.$quantite.' -1 WHERE ref = '.$pieces_moins.'');
    	echo '<meta http-equiv="refresh" content="0;URL=?pieces" />';
    }
    

    Bien sûr le problème ne viens pas des variables que j'ai tester et fonctionne le problème vient surement de la requête SQL, si je me trompe et que vous avez besoin de plus de cote je le posterai sans problème.

    Merci par avance

    • Partager sur Facebook
    • Partager sur Twitter
      8 novembre 2019 à 22:50:42

      Une requête préparée, ça s'exécute ...

      Et accessoirement, quitte à utiliser une requête préparée, pour la sécurité et pour ne pas avoir à gérer les quotes pour les chaînes SQL (ce que tu n'as potentiellement pas fait), on n'injecte JAMAIS des valeurs comme ça par concaténation ou interpolation dans la requête, on en fait des paramètre que l'on binde ensuite.

      Tu dis vouloir ajouter mais tu soustrais et si c'est pour in/décrémenter la colonne quantite, j'espère qu'il n'y a pas de SELECT avant pour la récupérer (le tout n'étant pas atomique contrairement à un UPDATE seul, en cas de concurrence, c'est le meilleur moyen de se retrouver avec un compteur totalement à l'Ouest)

      -
      Edité par julp 8 novembre 2019 à 22:52:48

      • Partager sur Facebook
      • Partager sur Twitter

      [MySQL] Ajouter 1 a une valeur SQL

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown