Probleme avec la requete delete

Bonsoir,
je fais une suppresion d'un article de la base de donnes a travers un traitement simple
mais lorsque je cherche dans la base je trouve l'article concerné meme que j'obtient pas une erreur lors de l'execution du script php *aidez moi svp
voila mon simple script
$req="DELETE FROM mat_sn WHERE id_mat=(SELECT id_mat FROM mat_sn WHERE SN=')".$_GET['sn'];
			mysql_query($req);
			echo "le post avec le serial number suivant".$_GET['sn']."a ete  supprime avec succes";


2 réponses

  1. Bonsoir,

    Ceci?

    $ref = $_GET['sn'] *1; // empêche une injection SQL

    $req="DELETE FROM mat_sn WHERE id_mat=$ref";

    A+
    0
    1. Contributeur
      Hello,

      Question : quelle est l'utilité de faire une sous-requêtes allant taper dans la même table alors qu'un where suffirait largement ? En plus tu fermes la parenthèse de la sous-requête avant d'y avoir injecté le paramètre...
      Cf solution ci-dessous :

      $req="DELETE FROM mat_sn WHERE SN='".$_GET['sn']."';";
      


      NOTE : j'ai mis des guillemets simples autour de la variable pour la gérer comme une chaîne de caractères. Si c'est un numérique, supprime-les.
      0