Problème supprimer des valeurs dans une base de données

Fermé
skeeter9957 Messages postés 5 Date d'inscription lundi 13 août 2012 Statut Membre Dernière intervention 13 mai 2013 - 11 mai 2013 à 19:26
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 13 mai 2013 à 20:53
Bonjour,

voilà je suis en train de faire un site internet en php, et j'ai fait une parti client et ce dernier à la possibilité de créer un panier. et en faite lorsqu'il se déconnecte en faite je détruit la session qu'il a créer lorsqu'il se connecte, mais je vide aussi le panier remplit. Mon problème est le suivant:
lorsqu'un client se deconnecte, je n'arrive pas à vider son panier( qui est en faite de simples valeurs dans une base de donnée, avec le même nom mais différent produit).
Je vous met le code que je fais lorsque je veux vider le panier d'un client :
<?php
session_start();


//connection au serveur:
$id = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$retour=mysql_select_db("btc");

//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement supprimer:
$email =$_SESSION['MAIL'];

//requête SQL:

$sql = "DELETE * FROM 'panier' WHERE 'email' =".$email ;

echo $sql ;
//exécution de la requête:
$requete = mysql_query($sql,$id) ;
echo $requete;
//affichage des résultats, pour savoir si la suppression a marchée:
if($requete)
{
echo("La suppression à été correctement effectuée") ;
}
else
{
echo("La suppression à échoue") ;
}


//header('Location : ../btclocal/index.php');
session_destroy();
?>

<meta http-equiv="refresh" content="10;URL=../btclocal/index.php">

Mon problème vient je pense du $requete car lorque je fais un echo $sql, le code devrait marcher mais non, donc si quelqu'un pourrait m'aider, ça serait gentil...
A voir également:

9 réponses

Kaldoran Messages postés 137 Date d'inscription mercredi 31 octobre 2012 Statut Membre Dernière intervention 21 juin 2015 29
12 mai 2013 à 02:03
Bonsoir ,

La correction a appliquer est la suivante :

$sql = "DELETE * FROM 'panier' WHERE 'email' = ' ". $email." ' " ;
Il faut encadrer le $email de simple quote [ dans votre cas ]
0
skeeter9957 Messages postés 5 Date d'inscription lundi 13 août 2012 Statut Membre Dernière intervention 13 mai 2013
12 mai 2013 à 10:49
Merci de m'avoir répondu, mais j'ai essayé et ça ne marche toujours pas...
0
reverb94 Messages postés 106 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 7 janvier 2014 1
Modifié par reverb94 le 12/05/2013 à 16:42
Bonjour,
Pourquoi rajouter des >'<panier>'< dans les requête ?

  
$sql = "DELETE * FROM panier WHERE email = ' ". $email." ' " ;   


Essaye comme ceci.
Cordialement.
0
skeeter9957 Messages postés 5 Date d'inscription lundi 13 août 2012 Statut Membre Dernière intervention 13 mai 2013
12 mai 2013 à 16:45
J'ai essayé et ça ne marche toujours pas, pourtant la requette est bien écrit je pense, mais lorsque je fait le test pour voir si j'ai bien supprimé, on me renvoit que cela a échoué... donc le problème doit venir de ma requette je pense non ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kaldoran Messages postés 137 Date d'inscription mercredi 31 octobre 2012 Statut Membre Dernière intervention 21 juin 2015 29
13 mai 2013 à 09:45
essaye de faire un echo $email;
voir si celle ci contient bien une valeur et verifie que la valeur est dans ta base de données.

Car c'est étrange ton code ne comporte pas d'erreur ..
0
reverb94 Messages postés 106 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 7 janvier 2014 1
13 mai 2013 à 12:09
Bonjour,
Si tu ne trouve pas la solution tu peux essayer de trouver l'erreur manuellement en rajoutant des echo, print_r. Cela t'affichera une erreur ( si tu en à une ).
Cordialement.

PS : vérifie bien que ton orthographe sois identiques avec les 'catégories' de tes tables.

Cordialement.
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
13 mai 2013 à 14:52
Salut !

Essaye avec : $sql = 'DELETE * FROM panier WHERE email LIKE "%' . $email. '%"' ;

0
skeeter9957 Messages postés 5 Date d'inscription lundi 13 août 2012 Statut Membre Dernière intervention 13 mai 2013
13 mai 2013 à 20:39
Re, je faisais déja un echo $sql, et la variable était bien dedans...
Ce que j'ai fait c'est que j'ai directement repris a partir de php my admin dans la base de données(bdd) comment supprimer et ça marche maintenant... le code que j'ai mit est le suivant :
$sql = "DELETE FROM 'btc'.'panier' WHERE 'panier'.'email' ='$email'";

Après j'avais une question, j'ai un problème par rapport à un tableau, je souhaiterai en faite récupérer cette fois les valeurs dans la bdd, là où j'aurai comme email en faite le $email, récupérer plusieurs valeurs...merci de me répondre
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
13 mai 2013 à 20:53
Il y a énormément de tuto sur la pdo sur le net ... Une petit recherche google et tu trouveras ton bonheur : tuto pdo php
0