requete delete methode get

bromlecornu
Invité n'ayant pas de compte PHPfrance

29 mai 2007, 09:35

Bonjour,

J'ai un blème avec cette requête je ne sais po si j'ai bien utilisé le get

Code : Tout sélectionner

<? include ('connexion.inc'); $nserv = $_GET["num_service"]; $sql = "Delete * from services where num_service = '".$_GET["num_service"]"'"; $sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error()); } header("Location: accueil.php"); ?>
Voila merci

bromlecornu
Invité n'ayant pas de compte PHPfrance

29 mai 2007, 09:44

je c pour le point que j'ai oublié juste apres mon get mais ca marche po quand mm avec

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

29 mai 2007, 10:01

Tu as un message d'erreur surement ...
Il est important de nous le donner pour qu'on puisse t'aider ... comme il est important que tu essayes de le comprendre toi même.

Je pense tout de même que "DELETE * FROM" n'est pas la bonne syntaxe. Je te laisse comprendre pourquoi ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

bromlecornu
Invité n'ayant pas de compte PHPfrance

29 mai 2007, 10:42

Bon j'ai trouvé qques erreurs

mais la il met :
Notice: Undefined index: num_service in d:\interventions\suppr_service.php on line 4

Notice: Undefined index: num_service in d:\interventions\suppr_service.php on line 6
vla le code :

Code : Tout sélectionner

<? include ('connexion.inc'); $nserv = $_GET["num_service"]; $sql = "Delete from services where num_service = '".$_GET["num_service"]."'"; $sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error()); header("Location: accueil.php"); ?>
Voila la je seche

merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

29 mai 2007, 14:51

Une petite recherche t'aurait donné la réponse :evil:
L'index "num_service" n'existe pas dans la superglobale $_GET.

Visiblement, tu ne passes pas correctement la valeur de "num_service" dans l'url.

1/ Pourquoi récupérer $_GET['num_service'] dans $num_service, si tu ne l'utilises pas ?
remplace
$nserv = $_GET["num_service"];
$sql = "Delete from services where num_service = '".$_GET["num_service"]."'"; 
par
$nserv = $_GET["num_service"];
$sql = "Delete from services where num_service = '".$nserv."'";

2/ Pour éviter l'apparition du message d'erreur (ATTENTION, cette solution n'affiche pas le message d'erreur mais ne réalise pas la supression), il faut controler que le num_service existe
<?
include ('connexion.inc');

//Récupération du numéro de service
$nserv = $_GET["num_service"];

//Si le numéro de service a bien été transmis par GET
if ($nbserv != '')
{
    $sql = "Delete from services where num_service = '".$nserv."'";
    $sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error());
}

header("Location: accueil.php");
?>
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer