Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1458 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP][Résolu] Problème de suppression...

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP][Résolu] Problème de suppression...

n°1258679
jacpapac
Posté le 04-12-2005 à 21:54:27  profilanswer
 

Bonsoir, voila quelques heures que je galère sur une ligne et je m'en remets à vous pour m'aider.
 
Voici le code :

Code :
  1. if($_REQUEST['suppr'])
  2. {
  3. print $_REQUEST['suppr'];
  4. $db = mysql_connect('localhost', 'family', 'breuil05');
  5. mysql_select_db('famille', $db);
  6. $sql_results = mysql_query("SELECT * FROM articles WHERE key ='".$_REQUEST['suppr']."'" ) or die(mysql_error());
  7. while($ligne = mysql_fetch_array($sql_results))
  8. {
  9.  if($_SESSION["log"] == $ligne['auteur'])
  10.  {
  11.   $squery = 'DELETE FROM articles WHERE \'key\' = \''.$_REQUEST['suppr'].'\'';
  12.   mysql_query($squery) or die(mysql_error());
  13.  }
  14. }
  15. mysql_close($db);
  16. $page = 'articles';
  17. }


 
L'erreur est la suivante :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key ='1'' at line 1
 
$_REQUEST['suppr'] > c'est une variable que j'envoie à ma page de cette façon : index.php?suppr="clé primaire de l'article". Ce que je reçois est bien la clé primaire de l'article a supprimer.
 
Je voudrais donc supprimer l'article dans la base mais avant je vérifie si l'auteur est bien celui qui a ouvert une session...
 
Merci de votre aide.


Message édité par jacpapac le 05-12-2005 à 22:33:39
mood
Publicité
Posté le 04-12-2005 à 21:54:27  profilanswer
 

n°1258701
art_dupond
je suis neuneu... oui oui !!
Posté le 04-12-2005 à 22:16:18  profilanswer
 

ca doit etre les ' autour de key non ?
 

Code :
  1. $squery = 'DELETE FROM articles WHERE `key` = "'.$_REQUEST['suppr'].'"';

?
 
 
 
ps: je crois qu'il vaut mieux employer $_GET['suppr']

n°1258714
jacpapac
Posté le 04-12-2005 à 22:31:12  profilanswer
 

c'est autour de cette ligne oui, par contre la valeur renvoyée par $_REQUEST['suppr'] est bonne.  
Quand je stocke la requete dans une variable et que je l'affiche cela me donne :
SELECT * FROM articles WHERE 'key' ='18'
18 étant bien l'id de l'article à supprimer...


Message édité par jacpapac le 04-12-2005 à 22:31:38
n°1258717
art_dupond
je suis neuneu... oui oui !!
Posté le 04-12-2005 à 22:32:52  profilanswer
 

oui mais il ne faut pas mettre de ' autour de key
 
'key' pas bien: il considère que c'est une chaine et pas une colonne
key bien
`key` mieux (pour les eventuels mots réservés...)
 

n°1258777
leflos5
On est ou on est pas :)
Posté le 05-12-2005 à 00:56:53  profilanswer
 

Donc on peut supprimer n'importe quelle ligne en tapant le lien et l'ID de la ligne :whistle:

n°1258778
art_dupond
je suis neuneu... oui oui !!
Posté le 05-12-2005 à 01:01:47  profilanswer
 

il vérifie quand meme l'auteur du message

n°1258779
leflos5
On est ou on est pas :)
Posté le 05-12-2005 à 01:09:48  profilanswer
 

art_dupond a écrit :

il vérifie quand meme l'auteur du message


J'avais pas fait attention :jap:
M'enfin c'est pas le sujet :) Celà dit je ferais pas ça comme ça ;) C'est brouillon le select suivit du delete :) Et au delà de ça, faut-il vraiment supprimer, grand débat :??:

n°1258786
art_dupond
je suis neuneu... oui oui !!
Posté le 05-12-2005 à 01:43:54  profilanswer
 

je comprends pas la fin de ton message... "faut-il vraiment supprimer ?"
 
tu parles du fait que l'id vienne de l'url ?
 
 
si oui, comment ferais-tu ? l'id doit bien venir d'une facon ou d'une autre (get ou post). Après faut tester si la personne peut effacer.
 
tu ferais quoi en plus ?
 
 
 
 
 
 
sinon pour le bout de code, ce serait mieux comme ca ?
 

Code :
  1. delete ... from... where key="la clé" and auteur="log"


n°1258789
leflos5
On est ou on est pas :)
Posté le 05-12-2005 à 02:01:09  profilanswer
 

art_dupond a écrit :

je comprends pas la fin de ton message... "faut-il vraiment supprimer ?"
 
tu parles du fait que l'id vienne de l'url ?
 
 
si oui, comment ferais-tu ? l'id doit bien venir d'une facon ou d'une autre (get ou post). Après faut tester si la personne peut effacer.
 
tu ferais quoi en plus ?
 
 
 
 
 
 
sinon pour le bout de code, ce serait mieux comme ca ?
 

Code :
  1. delete ... from... where key="la clé" and auteur="log"



La suppression matérielle est un choix, parfois la suppresion logique est pas plus mal mais ça dépend du besoin et du cas :)
 
Je serais plus d'accord avec ta proposition :) Parce que boucler sur un résultat unique normalement et se taper 2 requêtes dont une qui sert presque à rien et puis vive l'injection sql là ou au moins le plantage du sgbd et un joli time out du serveur http :)

n°1258839
jacpapac
Posté le 05-12-2005 à 09:53:25  profilanswer
 

bon j'ai ré essayé avec les `` et ça marche :) Merci pour vos conseils ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP][Résolu] Problème de suppression...

 

Sujets relatifs
Problème avec split et tableau [résolu]Problème de référencement
[PHP/HTML]Cherche un script pour lire des flux RSSPHP Mysql et Access...
probleme float et lien inactif sous firefox[html] problème avec background image d'une cellule
[PHP] Collision de sessionsprobleme commande rmic
[PHP] Apache se plante lors de l'utilisation d'une classe 
Plus de sujets relatifs à : [PHP][Résolu] Problème de suppression...


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR