[PHP] req DELETE FROM
Dernière réponse : dans Programmation
Voila j'apprends en se moment le PHP et j'ai un petit problème avec une requête SQL, je bosse sur un livre d'or.
j'ai 2 pages, admin.php et supp.php
je met que le code essentiel pour l'aide :
admin.php :
<p><form action='supp.php' method='post'><br />
<input type='text' name='quoi' /><br />
<input type='submit' value='Supprimer ces messages' /></form></p>
Dans le champ créé on rentre une commande du style : pseudo='MoAX'
supp.php :
<?php
if (isset($_POST['quoi']))
{
if ($_POST['quoi'] != NULL)
{
$delete = $_POST['quoi'];
mysql_connect('---adresse serveur mysql----', 'pseudo', 'mot_de_passe');
mysql_select_db('-la BDD-');
mysql_query('DELETE FROM livredor WHERE $delete');
mysql_close();
}
}
?>
Mais pourtant quand j'écris dans le livre d'or, avec le pseudo MoAX, je marque pseudo(le nom du champ)='MoAX'
aucune erreur et rien ne s'efface
est-ce que mysql_query('DELETE FROM livredor WHERE pseudo='MoAX''); est une requête erroné ?
Expliquez mon erreur svp, j'ai cherché pas mal, et d'après les tutos du site du zéro, je ne vioe pas comment on peu faire autrement
Merci
j'ai 2 pages, admin.php et supp.php
je met que le code essentiel pour l'aide :
admin.php :
<p><form action='supp.php' method='post'><br />
<input type='text' name='quoi' /><br />
<input type='submit' value='Supprimer ces messages' /></form></p>
Dans le champ créé on rentre une commande du style : pseudo='MoAX'
supp.php :
<?php
if (isset($_POST['quoi']))
{
if ($_POST['quoi'] != NULL)
{
$delete = $_POST['quoi'];
mysql_connect('---adresse serveur mysql----', 'pseudo', 'mot_de_passe');
mysql_select_db('-la BDD-');
mysql_query('DELETE FROM livredor WHERE $delete');
mysql_close();
}
}
?>
Mais pourtant quand j'écris dans le livre d'or, avec le pseudo MoAX, je marque pseudo(le nom du champ)='MoAX'
aucune erreur et rien ne s'efface
est-ce que mysql_query('DELETE FROM livredor WHERE pseudo='MoAX''); est une requête erroné ?
Expliquez mon erreur svp, j'ai cherché pas mal, et d'après les tutos du site du zéro, je ne vioe pas comment on peu faire autrement
Merci Autres pages sur : php req delete from
Lassé par la pub ? Créez un compte
salut
Dans mes scripts php, quand je veut effacer un message avec la fonction 'DELETE , je ne mais pas where "pseudo" qui est donc une chaine de carractere dans ton exemple, mais j'utilise ID, pour dire quelle ligne il faut effacer, dans ce cas ça fonctionne. Il suffit de recuperrer le ID du texte à effacer,
Tu peut testet ceci:
$SQL = "DELETE FROM livredor";
$SQL .= " WHERE ID=" .$delete';
$result = mysql_query($SQL);
voila, tu peut remplacer ces lignes par celle ci:
mysql_query('DELETE FROM livredor WHERE $delete');
Puis pour tester il te suffit de mettre dans ton champ texte le numero de l'enregistrement, par exemple 3,
et la l'effaçement aurra lieu
Dans mes scripts php, quand je veut effacer un message avec la fonction 'DELETE , je ne mais pas where "pseudo" qui est donc une chaine de carractere dans ton exemple, mais j'utilise ID, pour dire quelle ligne il faut effacer, dans ce cas ça fonctionne. Il suffit de recuperrer le ID du texte à effacer,
Tu peut testet ceci:
$SQL = "DELETE FROM livredor";
$SQL .= " WHERE ID=" .$delete';
$result = mysql_query($SQL);
voila, tu peut remplacer ces lignes par celle ci:
mysql_query('DELETE FROM livredor WHERE $delete');
Puis pour tester il te suffit de mettre dans ton champ texte le numero de l'enregistrement, par exemple 3,
et la l'effaçement aurra lieu
Il y a une erreur que tu aurais vu en faisant un echo de ta requete:
Lorsque tu transmet un champ de formulaire, si le magic_quotes est activé, les caractères particuliers sont échappés.
Ta requete devient donc:
DELETE FROM livredor WHERE pseudo=\'MoAX\'
Ce qui peut t'aider, c'est l'utilisation de stripslashes()
Lorsque tu transmet un champ de formulaire, si le magic_quotes est activé, les caractères particuliers sont échappés.
Ta requete devient donc:
DELETE FROM livredor WHERE pseudo=\'MoAX\'
Ce qui peut t'aider, c'est l'utilisation de stripslashes()
Lassé par la pub ? Créez un compte