"DELETE FROM `guest` WHERE `id` ='$id' LIMIT 1"; ca ne marche pa :cry: - PHP - Programmation
Marsh Posté le 05-01-2003 à 11:06:17
personne ne sais? vraiment???
:'( :'( :'( :'( :'( :'( :'( :'( :'( :'(
Marsh Posté le 05-01-2003 à 11:24:27
T'as essayé de faire un echo de $id juste avant d'exécuter la requête ?
S'il a pas la valeur que tu lui as donnée via ton form, c'est p-e que le fichier que t'inclus juste avant manipule une variable $id. Essaie d'appeler ta variable autrement, $idMsg par ex.
Marsh Posté le 05-01-2003 à 16:12:00
"DELETE FROM `guest` WHERE `id` ='$id'" suffit deja
et en + pkoi c'est un champ texte pour l'id ?
l'id tu dois l'obtenir en selectionnant le message plutot qu'en tapant l'id sinon c'est pas pratique
tu affiches un bouton radio à coté de tes messages et comme ça en faisant submit t'auras l'id auto
Marsh Posté le 05-01-2003 à 16:47:35
non non tu peux limiter le nbre de delete avec LIMIT rows
parce que par ex si tu veux suppr que 500 enregistrements d'une table en ayant 50 000 il vaut mieux pouvoir specifier la limite
Marsh Posté le 05-01-2003 à 16:51:13
floleb7 a écrit : non non tu peux limiter le nbre de delete avec LIMIT rows |
J'aurais appris quelque chose aujourd'hui
Et on peut même utiliser le ORDER BY
Marsh Posté le 05-01-2003 à 16:55:14
euh nan le order by tu peux pas logiquement
http://dev.nexen.net/docs/mysql/an [...] ien=delete
Marsh Posté le 05-01-2003 à 16:57:35
J'ai trouvé ca sur mysql.com
( http://www.mysql.com/doc/en/DELETE.html )
Citation : If an ORDER BY clause is used, the rows will be deleted in that order. This is really only useful in conjunction with LIMIT. For example: |
edit : zut, c'est depuis mysql 4.0 seulement
Marsh Posté le 05-01-2003 à 17:03:59
ça risque de faire mal aux serv ceux qui utiliseront le where + l'order by + la limit
Marsh Posté le 05-01-2003 à 17:08:57
floleb7 a écrit : ça risque de faire mal aux serv ceux qui utiliseront le where + l'order by + la limit |
Ce sera toujours mieux que ceux qui utiliseront le ORDER BY sans LIMIT
Marsh Posté le 05-01-2003 à 18:39:38
moi je le mets pr limiter le nombre deffacements meme si je verifie mon $id avant parce que les delete.php?id=16%20or%201=1 et autres, normalement je les controle mais je prefere assurer.
Marsh Posté le 05-01-2003 à 18:54:32
Sielfried a écrit : T'as essayé de faire un echo de $id juste avant d'exécuter la requête ? |
Voui, c'est la première des choses à faire
Et sinon, vérifier le coup classique, à savoir mettre $_POST['id'] à la place de $id si register_globals est à off.
Marsh Posté le 05-01-2003 à 10:46:53
Bonjour
Je suis en train de faire un livre d'or destiner au grand public ( comme ceux que l'on trouve sur comscript ou phpscript-fr )donc, il y a un panneau d'administration, pas tres perfectioner, la seul chose qu'on peut faire, c'est suprimer des post, mais justement, ca ne marche pas, voila un bout de mon code
admin.php
<FORM ACTION="delet.php" METHOD="post">
<p>
Id du message a suprimer<INPUT SIZE="15" NAME="id" >
<p>
<INPUT TYPE="submit" VALUE="Suprimer" size = "15">
</p>
</FORM>
ca, c'est elementaire, mais, voila mon code de
delet.php
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
include("config.inc.php3" );
$sql = "DELETE FROM `guest` WHERE `id` ='$id' LIMIT 1";
$link=mysql_connect($cfg_host,$cfg_user,$cfg_pass) or die("Impossible de se conneceter, verifiez que vous avez bien configurez le fichier config.inc.php3" );
$res = mysql_db_query($cfg_base,$sql,$link) or die("Impossible de suprimmer le message, verifiez qu'il existe bien un message avec l'id que vous avez donner" ) ;
mysql_close($link);
print ("Le message a bien était suprimer..." )
?>
<p><a href=<?=$cfg_page?>>Retour au livre d'or</a></p>
</body>
</html>
chaque message poster a un id mis automatiquement (le 1 er poster id 1 le 2 eme id 2 le 3 eme id3 ...ect)
j'ai poster 4 message au pif dans le livre d'or, ensuite, je vais dans admin.php, et je met 3 dans le form puis suprimer, et la, il ma suprimer tout les message, quesqui ne va pas?
merci bcp d'avance
Message édité par MrBMX le 05-01-2003 à 10:59:38