Erreur requête SQL pour suppression données
Fermé
lauraM
-
20 juin 2008 à 15:45
lauraM Messages postés 17 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 4 mai 2009 - 26 juin 2008 à 14:12
lauraM Messages postés 17 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 4 mai 2009 - 26 juin 2008 à 14:12
A voir également:
- Erreur requête SQL pour suppression données
- Forcer suppression fichier - Guide
- Suppression compte instagram - Guide
- Erreur 1004 vba ✓ - Forum VB / VBA
- Requete http - Guide
- Erreur 1000 france tv - Forum MacOS
14 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 196
20 juin 2008 à 15:50
20 juin 2008 à 15:50
bonjour
Et comme ça :
DELETE FROM demandeclient WHERE IdClt=(SELECT IdClt FROM client WHERE IdClt=15)
Tu as, je pense des côtes (') inutiles.
;o)
Et comme ça :
DELETE FROM demandeclient WHERE IdClt=(SELECT IdClt FROM client WHERE IdClt=15)
Tu as, je pense des côtes (') inutiles.
;o)
Coucou,
merci de ta réponse.
En fait je ne peux pas savoir à l'avance la clé primaire ki va être supprimer c'est pour cela que j'ai fait une requête qui relit le nom du client qu'a sélectionné l'utilisateur pour savoir la clé primaire et pour ensuite la supprimer.
Et concernant mes quote si je les enlèves (ce que j'ai essayé) et bien il y a comme même une erreur qui me dit qu'il y a un problème de convesion.
Voilà si je n'est pas donné assez de précision je suis prête à répondre à toutes vos questions.
Merci de votre aide!
merci de ta réponse.
En fait je ne peux pas savoir à l'avance la clé primaire ki va être supprimer c'est pour cela que j'ai fait une requête qui relit le nom du client qu'a sélectionné l'utilisateur pour savoir la clé primaire et pour ensuite la supprimer.
Et concernant mes quote si je les enlèves (ce que j'ai essayé) et bien il y a comme même une erreur qui me dit qu'il y a un problème de convesion.
Voilà si je n'est pas donné assez de précision je suis prête à répondre à toutes vos questions.
Merci de votre aide!
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 196
20 juin 2008 à 16:01
20 juin 2008 à 16:01
de quel type est IdClt dans la table ? S'il est de type numérique pas besoin de côtes.
$sql4="DELETE FROM demandeclient WHERE IdClt=(SELECT IdClt FROM client WHERE IdClt=".$num_clt.")";
$sql4="DELETE FROM demandeclient WHERE IdClt=(SELECT IdClt FROM client WHERE IdClt=".$num_clt.")";
Pour vous répondre à tous les deux "dooob" et "Polux31".
Oui IdClt est de type numérique mais lorsque j'enlève les quotes comme vous me l'avez dit j'ai toujours mon erreur de début :
Erreur SQL ! DELETE FROM 'demandeclient' WHERE 'IdClt'=(SELECT 'IdClt' FROM 'client' WHERE 'IdClt'=.26.)
Erreur de syntaxe près de ''demandeclient' WHERE 'IdClt'=(SELECT 'IdClt' FROM 'client' WHER' à la ligne 1
Et enfin oui en principe la requête doit forcément donner quelques chose car elle trouve le bon numéro 'IdClt'.
Oui IdClt est de type numérique mais lorsque j'enlève les quotes comme vous me l'avez dit j'ai toujours mon erreur de début :
Erreur SQL ! DELETE FROM 'demandeclient' WHERE 'IdClt'=(SELECT 'IdClt' FROM 'client' WHERE 'IdClt'=.26.)
Erreur de syntaxe près de ''demandeclient' WHERE 'IdClt'=(SELECT 'IdClt' FROM 'client' WHER' à la ligne 1
Et enfin oui en principe la requête doit forcément donner quelques chose car elle trouve le bon numéro 'IdClt'.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Vraiment je ne comprend pas d'où peut provenir l'erreur.
C'est pour cela que je fais appel à votre aide.
C'est pour cela que je fais appel à votre aide.
Merci beaucoup cela m'a enlevé l'erreur. :-)
Malheureusement il me met bien ce que j'attendais:
Nous venons de supprimer 'AUDE' de la base.
Mais il ne le supprime pas vraiment car la nom du client est encore présent dans la base de donnée.
Sauriez-vous pourquoi???
Malheureusement il me met bien ce que j'attendais:
Nous venons de supprimer 'AUDE' de la base.
Mais il ne le supprime pas vraiment car la nom du client est encore présent dans la base de donnée.
Sauriez-vous pourquoi???
C'est bien le gros souci.
Aucunes erreurs ne s'affiche. Et j'ai aussi actualisé à la fois ma base de donnée et ma page php.
Ma donnée devant être supprimée est toujours présente.
Incompréhensible.
Aucunes erreurs ne s'affiche. Et j'ai aussi actualisé à la fois ma base de donnée et ma page php.
Ma donnée devant être supprimée est toujours présente.
Incompréhensible.
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
90
20 juin 2008 à 16:48
20 juin 2008 à 16:48
$sql4="DELETE FROM 'demandeclient' WHERE 'IdClt'=(SELECT 'IdClt' FROM 'client' WHERE 'IdClt'='".$num_clt."')";
Il y a un truc que je ne comprends pas :
Ta requête SELECT 'IdClt' FROM 'client' WHERE 'IdClt'='".$num_clt."' te retourne $num_clt.
Pourquoi ne pas faire dirtectement :
?
Il y a un truc que je ne comprends pas :
Ta requête SELECT 'IdClt' FROM 'client' WHERE 'IdClt'='".$num_clt."' te retourne $num_clt.
Pourquoi ne pas faire dirtectement :
$sql4="DELETE FROM demandeclient WHERE IdClt=".$num_clt;
?
J'ai fait ce que vous m'avez dit cela me donne la même chose.
Ca marche mais ca ne supprime pas réellement la donnée dans ma base de données même en actualisant.
Ne pouvant pas rester, je répondrais à tout message lundi.
Merci beaucoup de votre aide.
Ca marche mais ca ne supprime pas réellement la donnée dans ma base de données même en actualisant.
Ne pouvant pas rester, je répondrais à tout message lundi.
Merci beaucoup de votre aide.
Bonjour,
j'ai bien vérifié tout ce qui m'a été conseillé et ca ne change en rien mon problème.
Je en sais plus trop quoi faire.
Donc si quelqu'un à un autre conseil à me donner je suis preneuse.
Je rapelle mon problème : je supprime à l'aide de mon formulaire un client, une page m'informe qu'il a bien été supprimé mais en réalité il est toujours dans ma base de donnée.
Je vous avoue que je désespère!!!
Si pour m'aider vous avez besoin de quelconque information je vous la donneraie.
Merci de votre compréhension.
j'ai bien vérifié tout ce qui m'a été conseillé et ca ne change en rien mon problème.
Je en sais plus trop quoi faire.
Donc si quelqu'un à un autre conseil à me donner je suis preneuse.
Je rapelle mon problème : je supprime à l'aide de mon formulaire un client, une page m'informe qu'il a bien été supprimé mais en réalité il est toujours dans ma base de donnée.
Je vous avoue que je désespère!!!
Si pour m'aider vous avez besoin de quelconque information je vous la donneraie.
Merci de votre compréhension.
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
90
23 juin 2008 à 10:58
23 juin 2008 à 10:58
Quelques idées, en vrac :
- Il n'y aurait pas un truc genre Client est une clé étrangère sur une autre table ? Et du coup la suppression est impossible ?
- Une fois que tu as construit ta requête, et avant de la passer à mysql_query, fais un echo. Ensuite, tu la copies, et la colles dans phpMyAdmin, pour voir si elle fonctionne.
- Il n'y aurait pas un truc genre Client est une clé étrangère sur une autre table ? Et du coup la suppression est impossible ?
- Une fois que tu as construit ta requête, et avant de la passer à mysql_query, fais un echo. Ensuite, tu la copies, et la colles dans phpMyAdmin, pour voir si elle fonctionne.
Pour te répondre "macgawel":
- concernant les clefs étrangères je les avaient déjà supprimées croyant que c'était cela qui pose problème. De plus dans mon code où se trouve les requêtes j'ai bien fait attention de d'abord supprimer ce qui normalement devait être une clé étrangère puis après supprimer directement dans ma table.
Pour info ca donne ceci :
<?php
$servername='localhost';
$username='root';
$password='';
$connexion=mysql_connect($servername,$username,$password) or die('Erreur de connexion '.mysql_error());
mysql_select_db("ficheintervention", $connexion) or die('Erreur de selection '.mysql_error());
?>
<html>
<head>
<title>Suppression d'un client</title>
</head>
<body>
<?php
$clt= $_POST['supprClient'];
if(isset($clt))
{
$sql1="SELECT `client`.`IdClt` FROM `client` WHERE `client`.`Nom client` = '".$clt."'";
$req=mysql_query($sql1) or die ('Erreur SQL ! '.$sql1.'<br/>'.mysql_error());
$data=mysql_fetch_array($req);
$num_clt=$data['IdClt'];
mysql_free_result($req);
$sql4="DELETE FROM `demandeclient` WHERE `IdClt`=".$num_clt;
mysql_query($sql4) or die ('Erreur SQL ! '.$sql4.'<br/>'.mysql_error());
$sql3="DELETE FROM `client` WHERE `client`.`IdClt`='.$num_clt.'";
mysql_query($sql3) or die ('Erreur SQL ! '.$sql3.'<br/>'.mysql_error());
$sql2="DELETE FROM `client` WHERE `client`.`Nom client`='.$clt.'";
mysql_query($sql2) or die ('Erreur SQL ! '.$sql2.'<br/>'.mysql_error());
mysql_close();
echo "Nous venons de supprimer '".$clt."' de la base.";
}
else
{
echo "Erreur la page est vide!";
}
?>
</body>
</html>
- ensuite concernant ce que tu m'as dit de tester avec mes requêtes je l'ai fait et elles fonctionnent bien dans phpadmin. Elles me trouvent bien la bonne données à l'aide du "echo". C'est pour cela que je ne comprends pas pourquoi je ne supprime pas réellement le client.
Merci de ton aide.
Si tu as encore un conseil je suis preneuse.
- concernant les clefs étrangères je les avaient déjà supprimées croyant que c'était cela qui pose problème. De plus dans mon code où se trouve les requêtes j'ai bien fait attention de d'abord supprimer ce qui normalement devait être une clé étrangère puis après supprimer directement dans ma table.
Pour info ca donne ceci :
<?php
$servername='localhost';
$username='root';
$password='';
$connexion=mysql_connect($servername,$username,$password) or die('Erreur de connexion '.mysql_error());
mysql_select_db("ficheintervention", $connexion) or die('Erreur de selection '.mysql_error());
?>
<html>
<head>
<title>Suppression d'un client</title>
</head>
<body>
<?php
$clt= $_POST['supprClient'];
if(isset($clt))
{
$sql1="SELECT `client`.`IdClt` FROM `client` WHERE `client`.`Nom client` = '".$clt."'";
$req=mysql_query($sql1) or die ('Erreur SQL ! '.$sql1.'<br/>'.mysql_error());
$data=mysql_fetch_array($req);
$num_clt=$data['IdClt'];
mysql_free_result($req);
$sql4="DELETE FROM `demandeclient` WHERE `IdClt`=".$num_clt;
mysql_query($sql4) or die ('Erreur SQL ! '.$sql4.'<br/>'.mysql_error());
$sql3="DELETE FROM `client` WHERE `client`.`IdClt`='.$num_clt.'";
mysql_query($sql3) or die ('Erreur SQL ! '.$sql3.'<br/>'.mysql_error());
$sql2="DELETE FROM `client` WHERE `client`.`Nom client`='.$clt.'";
mysql_query($sql2) or die ('Erreur SQL ! '.$sql2.'<br/>'.mysql_error());
mysql_close();
echo "Nous venons de supprimer '".$clt."' de la base.";
}
else
{
echo "Erreur la page est vide!";
}
?>
</body>
</html>
- ensuite concernant ce que tu m'as dit de tester avec mes requêtes je l'ai fait et elles fonctionnent bien dans phpadmin. Elles me trouvent bien la bonne données à l'aide du "echo". C'est pour cela que je ne comprends pas pourquoi je ne supprime pas réellement le client.
Merci de ton aide.
Si tu as encore un conseil je suis preneuse.
lauraM
Messages postés
17
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
4 mai 2009
1
26 juin 2008 à 09:57
26 juin 2008 à 09:57
Je n'ai toujours pas résolu ce problème donc je retente ma chance pour voir si quelqu'un à déjà rencontré mon problème.
lauraM
Messages postés
17
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
4 mai 2009
1
26 juin 2008 à 14:12
26 juin 2008 à 14:12
J'ai vraiment besoin de votre aide svp.