PHP MYSQL probleme de suppression

Résolu/Fermé
morinxav Messages postés 4 Date d'inscription samedi 24 mai 2008 Statut Membre Dernière intervention 27 février 2020 - 13 nov. 2014 à 13:02
morinxav Messages postés 4 Date d'inscription samedi 24 mai 2008 Statut Membre Dernière intervention 27 février 2020 - 13 nov. 2014 à 18:37
Bonjour,

Je voudrais supprimer un membre selon celui selectionné dans le combo, mais je ne suis pas assez bon.
Quelqu'un peut il me dire ou est l'erreur ?

voici mon code :


elseif($_GET['s'] =="sm")
{
if(!isset($_POST['pseudo']))
{
$query=$db->query('SELECT membre_pseudo FROM web6118_forum_membres');
echo'Suppresion d\'un membre<br /><br />';
echo'<form method="post" action="admin.php?cat=supp&s;s=sm">';
echo'<label>Nom :</label><select name="pseudo"><br /><br />';
while($data = $query->fetch())
{
echo'<option value="'.$data['membre_pseudo'].'">'.stripslashes(htmlspecialchars($data['membre_pseudo'])).'</option>';
}
echo'<input type="submit" value="Envoyer">
</form>';
$query->CloseCursor();
}
else
{

$query=$db->query('Delete FROM web6118_forum_membres WHERE web6118_forum_membres.membre_pseudo= :pseudo');
$query->execute()or die(print_r($query->errorInfo()));
$query->CloseCursor();
}
}


Cordialement

2 réponses

En lisant rapidement ton code, je constate que tu fais appel à un delete qui prend un paramétre (:pseudo), mais au moment d'exécuter ta requête, tu ne donne pas de valeur à ton paramètre.
0
morinxav Messages postés 4 Date d'inscription samedi 24 mai 2008 Statut Membre Dernière intervention 27 février 2020
13 nov. 2014 à 18:37
Problème résolu grâce a Comar91 :

à la place de
	
echo'<form method="post" action="admin.php?cat=supp&s;s=sm">';

je crois que ceci serait meilleur
	
echo '<form method="post" action="admin.php?cat=supp&s=sm">';

et à la place de
	
$query=$db->query('Delete FROM web6118_forum_membres WHERE web6118_forum_membres.membre_pseudo= :pseudo');
$query->execute()or die(print_r($query->errorInfo()));

je mettrai plutôt ceci
$query=$db->prepare('DELETE FROM web6118_forum_membres WHERE web6118_forum_membres.membre_pseudo= :pseudo');
if ($query == false) {
  die('Que: '.print_r($db->errorInfo()));
}
$res = $query->execute(array(':pseudo' => $_POST['pseudo']));
if ($res == false) {
  die('Res: '.print_r($db->errorInfo()));
}
0