Probleme avec la requete delete

norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention   -  
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   -
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

mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonsoir,

Ceci?

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

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


A+
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
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