Suppression d'une ligne dans la base mysql
Résolu/Fermé
ia2c
Messages postés
29
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
19 février 2015
-
9 août 2014 à 16:02
Utilisateur anonyme - 11 août 2014 à 16:07
Utilisateur anonyme - 11 août 2014 à 16:07
A voir également:
- Suppression d'une ligne dans la base mysql
- Forcer la suppression d'un fichier - Guide
- Aller à la ligne dans une cellule excel - Guide
- Partager photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Formules excel de base - Guide
4 réponses
Utilisateur anonyme
9 août 2014 à 20:53
9 août 2014 à 20:53
Bonjour
Tu n'as pas mis l'id dans ton lien pour la suppression. Il faudrait mettre :
Tu n'as pas mis l'id dans ton lien pour la suppression. Il faudrait mettre :
<td><a href="supprimer.php?id=<?php echo $ligne['id'] ?>">supprimer</a></td>
Utilisateur anonyme
10 août 2014 à 22:45
10 août 2014 à 22:45
As-tu bien fait la connexion à la base de données dans ta page supprimer.php ? Car a priori ta correction est bonne, même si tu as des parenthèses et des apostrophes inutiles.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
11 août 2014 à 10:56
11 août 2014 à 10:56
Bonjour,
Pour ton deuxième problème, cela vient de ça :
Tu utilises directement $id au lieu de $_GET['id'].
Fais plutôt comme ceci :
Xavier
Pour ton deuxième problème, cela vient de ça :
if(isset($_GET['id'])){ $requete=("delete from taches where id=".$id); $resultat=mysql_query($requete); }
Tu utilises directement $id au lieu de $_GET['id'].
Fais plutôt comme ceci :
if(isset($_GET['id'])){ $id = (int) $_GET['id']; $requete=("delete from taches where id=".$id); $resultat=mysql_query($requete); }
Xavier
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
11 août 2014 à 12:12
11 août 2014 à 12:12
Et si id est au format INT dans la BDD, il vaut mieux enlever les " " à ce niveau :
$requete=("delete from taches where id=".$_GET['id']);
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié par Reivax962 le 11/08/2014 à 12:16
Modifié par Reivax962 le 11/08/2014 à 12:16
Hum. Au temps pour moi, j'ai lu trop vite ^^'
Du coup :
- est-ce qu'il ne manquerait pas
- si ce n'est pas mieux, remplace
Xavier
Du coup :
- est-ce qu'il ne manquerait pas
include("connection.php");dans la page supprimer.php ? Edit : Mais je vois que le père te l'a déjà fait remarqué... Je sers à rien :p
- si ce n'est pas mieux, remplace
$resultat=mysql_query($requete);par
$resultat=mysql_query($requete) or die(mysql_error() . "<br />dans la requête $requete");
Xavier
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
11 août 2014 à 14:32
11 août 2014 à 14:32
Ceci dit, je maintiens mon approche, avec
qui évite les injections SQL.
$id = (int) $_GET['id'];
qui évite les injections SQL.
ia2c
Messages postés
29
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
19 février 2015
11 août 2014 à 12:33
11 août 2014 à 12:33
bonjour,
merci pour tous :) mon problème est bien résolue , j'ai oublié de mettre la fonction de connexion dans la page de suppression..
enfin :D
merci merci merci..
merci pour tous :) mon problème est bien résolue , j'ai oublié de mettre la fonction de connexion dans la page de suppression..
enfin :D
merci merci merci..
10 août 2014 à 15:38
merci le père pour votre aide
j'ai corrigé ma faute mais lorsque je clic sur le lien de suppression une erreur se produit: Notice: Undefined variable: id in C:\wamp\www\projet\production\supprimer.php on line 25
cette ligne est : $requete=("delete from taches where id=".$id);
je l'ai changé par : $requete=("delete from taches where id='".$_GET['id']."' ");
mais la suppression n'effectue pas et la barre d'adresse contient:
http://localhost/projet/production/supprimer.php?id=3
qu'est ce que je dois faire ??
merci