Suppression d'un enregistrement

power11 Messages postés 19 Statut Membre -  
 giheller -
Bonjour le monde je voudrais savoir comment supprimer un enregistrement dans une base de donnée sous mysql
Configuration: Windows XP
Internet Explorer 6.0

23 réponses

  • 1
  • 2
Résumé de la discussion

La suppression d'un enregistrement dans une base MySQL via une requête DELETE et des essais en PHP/MySQL soulève des difficultés de syntaxe et d'utilisation d'outils comme phpMyAdmin. Plusieurs éléments de réponse insistent sur la syntaxe, notamment l'espacement autour des opérateurs AND, une requête claire et des tests dans un SGBD ou phpMyAdmin. D'autres échanges soulignent l'intérêt de préparer les données (identifiant, login, mot de passe) et d'éviter les erreurs liées à l'absence de valeurs ou à des chaînes mal échappées. En cas de test, des échanges suggèrent de vérifier les messages d'erreur du script et d'adapter les paramètres de connexion ainsi que l'environnement d'exécution pour reproduire le problème.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. giheller
     
    bonjour

    delete from nomdelatable where xx= quelquechose pour pas tout détruire
    0
    1. power11 Messages postés 19 Statut Membre
       
      $select="select * from inscriptionforum where login='$login' AND motpasse='$motpasse'";
      $rep= mysql_query($select) or die ('erreure insert!<br>'.$select.'<br>'. mysql_error());
      if ($inscrire=mysql_fetch_array($rep))
      {
      $vallogin=$inscrire['login'];
      $valmotpasse=$inscrire['motpasse'];
      }
      if (isset ($vallogin) AND isset ($valmotpasse))
      {
      echo ' <script language=javascript> alert ("Ce compte est deja utilisé");</script>';
      }
      else
      {
      $requete="select * from inscriptionforum where login='$login'AND email='$email'AND motpasse='$motpasse'AND confirmermotpasse='$confirmermotpasse'AND pays='$pays'AND sexe='$sexe'AND lettreinformation='$lettreinformation'AND conditiongenerale='$conditiongenerale'";

      $reponse=mysql_query($requete) or die ('erreure insert!<br>'.$requete.'<br>'.mysql_error());

      $req="insert into inscriptionforum(id,login,email,motpasse,confirmermotpasse,pays,sexe,lettreinformation,conditiongenerale) values('','$login','$email','$motpasse','$confirmermotpasse','$pays','$sexe','$lettreinformation','$conditiongenerale')";

      $affichage=mysql_query($req) or die ('erreure insert!<br>'.$req.'<br>'.mysql_error());
      {
      //echo ("enregistrement effectué");
      echo ' <script language=javascript> alert ("Enregistrement effectué avec succès,vous etes un nouveau membre.");</script>';
      }
      if ($inscrire=mysql_fetch_array($reponse))
      {
      $login=$inscrire['login'];
      $email=$inscrire['email'];
      $motpasse=$inscrire['motpasse'];
      $confirmermotpasse=$inscrire['confirmermotpasse'];
      $pays=$inscrire['pays'];
      $sexe=$inscrire['sexe'];
      $lettreinformation=$inscrire['lettreinformation'];
      $conditiongenerale=$inscrire['conditiongenerale'];

      }
      if( "issert($login) and issert ($email) and issert ($motpasse) and issert($confirmermotpasse) and issert($pays) and issert ($sexe) and issert($lettreinformation) and issert ($conditiongenerale)")

      {
      //echo("votre compte est actif");
      }
      else
      {
      //echo("votre compte est inaccessible");
      }
      }

      cè mon code inscription.php

      $login=$_POST['login'];
      $email=$_POST['email'];
      $motpasse=$_POST['motpasse'];
      $confirmermotpasse=$_POST['confirmermotpasse'];
      $pays=$_POST['pays'];
      $sexe=$_POST['sexe'];
      $lettreinformation=$_POST['lettreinformation'];
      $conditiongenerale=$_POST['conditiongenerale'];
      $host="localhost";
      $user="root";
      $password="";
      $bdd="system";

      if (mysql_connect($host,$user,$password))
      {
      //echo "connexion reussie";
      }
      else
      {
      //echo("erreur de connexion");
      }
      mysql_select_db($bdd);

      $select="select * from inscriptionforum where login='$login' AND motpasse='$motpasse'";
      $rep= mysql_query($select) or die ('erreure insert!<br>'.$select.'<br>'. mysql_error());
      if ($desinscris=mysql_fetch_array($rep))
      {
      $valogin=$desinscris['login'];
      $vamotpasse=$desinscris['motpasse'];
      }
      if (isset ($valogin) AND isset ($vamotpasse))
      {
      $del="DELETE FROM inscriptionforum where login='$login'AND email='$email'AND motpasse='$motpasse'AND confirmermotpasse='$confirmermotpasse'AND pays='$pays'AND sexe='$sexe'AND lettreinformation='$lettreinformation'AND conditiongenerale='$conditiongenerale'";

      $reponse=mysql_query($del); //or die ('erreure insert!<br>'.$del.'<br>'.mysql_error());
      /*{
      //qui va nous permettre de savoir quel enregistrement supprimer:
      $id = $_POST["idinscriptionforum"] ;

      //requête SQL:
      $sql = "DELETE
      FROM inscriptionforum
      WHERE id_inscriptionforum = ".$id ;
      echo $sql ;
      //exécution de la requête:
      $requete = mysql_query( $sql) ;*/

      //affichage des résultats, pour savoir si la suppression a marchée:
      if($reponse)
      {
      echo'<script language=javascript> alert("La suppression a été correctement effectuée!");</script>';
      }
      else
      {
      echo '<script language=javascript> alert("La suppression a échouée!");</script>';
      }
      }
      cè le code suppression.php mè si g fè ça ne supprime pas dans la base de donnée merci davance
      0
  2. giheller
     
    peut être qu'en codant suivant une syntaxe plus rigoureuse

    $del="DELETE FROM inscriptionforum where login='$login'AND email='$email'AND motpasse='$motpasse'AND confirmermotpasse='$confirmermotpasse'AND pays='$pays'AND sexe='$sexe'AND lettreinformation='$lettreinformation'AND conditiongenerale='$conditiongenerale'";

    il manque un espace devant chaque AND, cela doit donner une erreur de syntaxe à l'éxécution non ?
    0
    1. power11 Messages postés 19 Statut Membre
       
      ,g vient de faire ce que tu mavais di mais cè toujours le mème resultat
      0
      1. giheller > power11 Messages postés 19 Statut Membre
         
        y a-t-il un message d'erreur ?
        quel est le symptôme ?

        je ne peux pas tout deviner
        0
  3. power11 Messages postés 19 Statut Membre
     
    comment supprimer un enregistrement dans une base de donnée mysql
    0
    1. giheller
       
      Borné ? pourquoi repose tu ta question sans répondre aux nôtres ?
      0
    2. giheller
       
      pas sympa, tu reposes la même question sans répondre à celle qu'on te pose !
      0
    3. giheller
       
      pas sympa de reposer la même question alors que tu ne réponds pas à celles qu'on te pose !
      0
  4. power11 Messages postés 19 Statut Membre
     
    slt a tous je suis un debutant en php et je voudrais supprimer un enregistrement en connaissant le login et le mot de passe merci d'avance.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. power11 Messages postés 19 Statut Membre
     
    ps: ma base de donnée est sous mysql pour plus de precision merci d'avance
    0
  7. giheller
     
    C'est quand même formidable de ne pas utiliser la réponse !
    pour détruire un enregistrement en mysql, je t'ai donné la requête maintenant tu n'en veut pas almors je ne peux plus rien faire pour toi .
    Cordialement
    0
  8. power11 Messages postés 19 Statut Membre
     
    j'utilise ta requete mais je ne sais pas si c'st moi qui l'ulise mal voici le code de desinscription.php
    <?php
    $login=$_POST['login'];
    $motpasse=$_POST['motpasse'];
    $host="localhost";
    $user="root";
    $password="";
    $bdd="system";

    if (mysql_connect($host,$user,$password))
    {
    //echo "connexion reussie";
    }
    else
    {
    //echo("erreur de connexion");
    }
    mysql_select_db($bdd) /*or die ('erreure de connexion à la base de donnée')*/;

    $select="select * from inscription where login='$login' AND motpasse='$motpasse'";
    $rep= mysql_query($select) or die ('erreure insert!<br>'.$select.'<br>'. mysql_error());
    if ($valider=mysql_fetch_array($rep))
    {
    $vallogin=$valider['login'];
    $valmotpasse=$valider['motpasse'];
    }
    if (isset ($vallogin) AND isset ($valmotpasse))

    mysql_query("DELETE FROM inscription WHERE nom='$nom'AND prenom='$prenom'AND login='$login'AND motpasse='$motpasse'AND confirmermotpasse='$confirmermotpasse'AND mail='$mail'AND sexe='$sexe'AND nationnalite='$nationnalite'AND jours='$jours'AND mois='$mois'AND annee='$annee'AND pays='$pays'");
    {
    echo '<script language=javascript> alert ("vous venez de supprimer votre compte sur le site arobase");</script>';
    }
    mysql_close()
    ?>
    Aussi nous avons le code de l'inscription.php je voudrais quelque chose qui ressemble au desinscription du site commentcamarche.
    merci boucoup pour ta comprehension
    0
    1. giheller
       
      Y a-t-il un message d'erreur à l'exécution de la requête ?

      rien n'a été corrigé ici :

      $query = "DELETE FROM inscription WHERE nom='".$nom."' AND prenom='".$prenom."' AND login='".$login."' AND motpasse='".$motpasse."' AND confirmermotpasse='".$confirmermotpasse."' AND mail='".$mail."' AND sexe='".$sexe."' AND nationnalite='".$nationnalite."' AND jours='".$jours."' AND mois='".$mois."' AND annee='".$annee."' AND pays='".$pays."'";

      mysql_query($query);
      0
      1. power11 Messages postés 19 Statut Membre > giheller
         
        slt frè merci pour aide et excuse moi pour l'autre fois au fait voici mon probleme
        j'ai mon formulaire desinscription.php
        <?php
        $login=$_POST['login'];
        $motpasse=$_POST['motpasse'];
        $host="localhost";
        $user="root";
        $password="";
        $bdd="system";

        if (mysql_connect($host,$user,$password))
        {
        //echo "connexion reussie";
        }
        else
        {
        //echo("erreur de connexion");
        }
        mysql_select_db($bdd) /*or die ('erreure de connexion à la base de donnée')*/;

        $select="select * from inscription where login='$login' AND motpasse='$motpasse'";
        $rep= mysql_query($select) or die ('erreure insert!<br>'.$select.'<br>'. mysql_error());
        if ($valider=mysql_fetch_array($rep))
        {
        $vallogin=$valider['login'];
        $valmotpasse=$valider['motpasse'];
        }
        if (isset ($vallogin) AND isset ($valmotpasse))

        $query = "DELETE FROM inscription WHERE nom='".$nom."' AND prenom='".$prenom."' AND login='".$login."' AND motpasse='".$motpasse."' AND confirmermotpasse='".$confirmermotpasse."' AND mail='".$mail."' AND sexe='".$sexe."' AND nationnalite='".$nationnalite."' AND jours='".$jours."' AND mois='".$mois."' AND annee='".$annee."' AND pays='".$pays."'";

        mysql_query($query);

        {
        echo '<script language=javascript> alert ("vous venez de supprimer votre compte sur le site arobase");</script>';
        }
        mysql_close()
        ?>
        Al'aide de mon login et bmon mot de pass je dois pouvoir desinscrire un enregistrement
        dans une base de donnée comme sur le site de commentcamarche merci pour ton aide.
        tu as le code inscription.php
        0
      2. giheller > power11 Messages postés 19 Statut Membre
         
        Bonjour,

        le script c'est bien mais sans sgdb et données je ne peux rien tester.
        la requête delete semble bonne.
        Que se passe-t-il quand tu exécutes ton script ?
        y a-t-il un message ?
        0
  9. power11 Messages postés 19 Statut Membre
     
    il nya rien frè ça de supprime pas l'enregistrement souhaité ça met suppression reussi mè ça ne supprime pas
    0
    1. giheller
       
      alors fais un copier coller de la requête et exécute là dans phpmyadmin.
      ou bien donnes moi la structure de ta base et un enregistrement
      0
  10. giheller
     
    où sont renseignées les variables nom prénom etc ?
    si cela vient d'un formulaires il faut les initialiser au debut du script !

    autres vérifications à faire :

    es-tu sûr que tout est bien renseigné dans l'enregistrement ainsi que toutes les variables testées ...
    0
  11. power11 Messages postés 19 Statut Membre
     
    la structure de la table:id,nom,prenom,motpasse,confirmermotpasse,mail,sexe,nationnalite,jours,mois,annee,pays
    voici l'enregistrement:adompo,leon,power,06339129,06339129,powerleon11@yahoo.fr,ivoirienne,11,novembre,1985,côte d'ivoire
    0
    1. giheller
       
      adompo = id ?

      manque le sexe

      0
  12. giheller
     
    as-tu vérifié le contenu des variables nom prenom etc avant de faire le delete.

    il semblerait que dans les comparaisons effectuées pour le delete il y ait une divergence
    nom='".$nom."'
    prenom='".$prenom."'
    login='".$login."'
    motpasse='".$motpasse."'
    confirmermotpasse='".$confirmermotpasse."'
    mail='".$mail."'
    sexe='".$sexe."'
    nationnalite='".$nationnalite."'
    jours='".$jours."'
    mois='".$mois."'
    annee='".$annee."'
    pays='".$pays."'";

    tourt ça chainé avec des AND doivent donner une égalité stricte pour "deleter" l'enregistrement.
    0
  13. giheller
     
    Il manque vraiment beaucoup de choses pour d'aider.

    où récupères-tu les nom prenom et autres variables pour faire les comparaisons ?
    0
  14. giheller
     
    avant de lancer la requête, que donne le reésultat de :

    echo " N ".$nom." P ".$prenom." L ".$login." M ".$motpasse." C ".$confirmermotpasse." M ".$mail. " S ".$sexe." N ".$nationnalite. " J ".$jours." M ".$mois." A ".$annee." P ".$pays;
    0
    1. power11 Messages postés 19 Statut Membre
       
      slt frè voici les deux codes:
      inscription.php
      $nom=$_POST['nom'];
      $prenom=$_POST['prenom'];
      $login=$_POST['login'];
      $motpasse=$_POST['motpasse'];
      $confirmermotpasse=$_POST['confirmermotpasse'];
      $mail=$_POST['mail'];
      $sexe=$_POST['sexe'];
      $nationnalite=$_POST['nationnalite'];
      $jours=$_POST['jours'];
      $mois=$_POST['mois'];
      $annee=$_POST['annee'];
      $pays=$_POST['pays'];
      $host="localhost";
      $user="root";
      $password="";
      $bdd="system";

      if (mysql_connect($host,$user,$password))
      {
      //echo "connexion reussie";
      }
      else
      {
      //echo("erreur de connexion");
      }
      mysql_select_db($bdd) /*or die ('erreure de connexion à la base de donnée')*/;
      $select="select * from inscription where login='$login' AND motpasse='$motpasse'";
      $rep= mysql_query($select) or die ('erreure insert!<br>'.$select.'<br>'. mysql_error());
      if ($inscrire=mysql_fetch_array($rep))
      {
      $vallogin=$inscrire['login'];
      $valmotpasse=$inscrire['motpasse'];
      }
      if (isset ($vallogin) AND isset ($valmotpasse))
      {
      echo ' <script language=javascript> alert ("Ce compte est dejà utilisé");</script>';
      }
      else
      {

      $requete="select * from inscription where nom='$nom'AND prenom='$prenom'AND login='$login'AND motpasse='$motpasse'AND confirmermotpasse='$confirmermotpasse'AND mail='$mail'AND sexe='$sexe'AND nationnalite='$nationnalite'AND jours='$jours'AND mois='$mois'AND annee='$annee'AND pays='$pays'";

      $reponse=mysql_query($requete) or die ('erreure insert!<br>'.$requete.'<br>'.mysql_error());

      $req="insert into inscription(id,nom,prenom,login,motpasse,confirmermotpasse,mail,sexe,nationnalite,jours,mois,annee,pays) values('','$nom','$prenom','$login','$motpasse', '$confirmermotpasse','$mail','$sexe','$nationnalite','$jours','$mois','$annee','$pays')";

      $affichage=mysql_query($req) or die ('erreure insert!<br>'.$req.'<br>'.mysql_error());

      //echo ("enregistrement effectué");
      echo ' <script language=javascript> alert ("Enregistrement effectué avec succès.");</script>';

      if ($inscrire=mysql_fetch_array($reponse))
      {
      $nom=$inscrire['nom'];
      $prenom=$inscrire['prenom'];
      $login=$inscrire['login'];
      $motpasse=$inscrire['motpasse'];
      $confirmermotpasse=$inscrire['confirmermotpasse'];
      $mail=$inscrire['mail'];
      $sexe=$inscrire['sexe'];
      $nationnalite=$inscrire['nationnalite'];
      $jours=$inscrire['jours'];
      $mois=$inscrire['mois'];
      $annee=$inscrire['annee'];
      $pays=$inscrire['pays'];
      }
      if( "issert($nom) and issert ($prenom) and issert ($login) and issert ( $motpasse) and issert($confirmermotpasse) and issert($mail) and issert ($sexe) and issert ($nationnalite) and issert ($jours) and issert ($mois) and issert($annee) and issert ($pays)")

      {
      //echo("votre compte est actif");
      }
      else
      {
      // echo("votre compte est inaccessible");
      }
      //session_destroy(); */
      }

      //session_destroy(); */
      mysql_close()

      voici le code de desinscription.php
      <?php
      $login=$_POST['login'];
      $motpasse=$_POST['motpasse'];
      $host="localhost";
      $user="root";
      $password="";
      $bdd="system";

      if (mysql_connect($host,$user,$password))
      {
      //echo "connexion reussie";
      }
      else
      {
      //echo("erreur de connexion");
      }
      mysql_select_db($bdd) /*or die ('erreure de connexion à la base de donnée')*/;

      $select="select * from inscription where login='$login' AND motpasse='$motpasse'";
      $rep= mysql_query($select) or die ('erreure insert!<br>'.$select.'<br>'. mysql_error());
      if ($valider=mysql_fetch_array($rep))
      {
      $vallogin=$valider['login'];
      $valmotpasse=$valider['motpasse'];
      }
      if (isset ($vallogin) AND isset ($valmotpasse))

      $query = "DELETE FROM inscription WHERE nom='$nom' AND prenom='$prenom' AND login='$login' AND motpasse='$motpasse' AND confirmermotpasse='$confirmermotpasse' AND mail='$mail' AND sexe='$sexe' AND nationnalite='$nationnalite' AND jours='$jours' AND mois='$mois' AND annee='$annee' AND pays='$pays'";

      mysql_query($query);

      {
      echo '<script language=javascript> alert ("vous venez de supprimer votre compte sur le site arobase");</script>';
      }
      mysql_close()
      ?>

      la desinscription devrait supprimer automatiquement l'enregistrement après avoir donner le login et le mot de passe, comme sur le site de commentcamarche.
      0
  15. giheller
     
    une réponse aux questions stp

    dans desinscription tu fais une comparaison avec le nom et celui de la base, le prénom et celui de la base etc avec les autres variables.

    dans le code envoyé tu ne récupères pas ces variables donc la compraraison donne faux comme résultat et comme quelquesoit la réponse du delete tu affiches le message .....
    0
  16. power11 Messages postés 19 Statut Membre
     
    dc qu'est ce qu'il faut faire stp aider moi
    0
    1. giheller
       
      la requête delete dit :
      je veux supprimer l'enregistrement qui correspond aux critères spécifiés or quand on dit where nom= $nom, il faut que $nom ait une valeur.

      Où est-elle ?

      donne moi le formulaire qui pointe sur la désinscription.
      0
  17. power11 Messages postés 19 Statut Membre
     
    voici le formulaire
    <form name="desinscription" action="" method="POST" onsubmit="return confirm('Etes-vous sûr de vouloir vous désinscrire du site AROBASE ? Toutes vos données et votre historique seront irrémédiablement supprimés !');">
    <tr>
    <td>login:</td>
    <td><input type="text" name="login" style="background-color:#F4F4F4; border: 1px solid "></td>
    </tr>
    <tr>
    <td>password:</td>
    <td><input type="text" name="motpasse" style="background-color:#F4F4F4; border: 1px solid "></td>
    </tr>
    <tr>
    <td><input type="submit" value="valider" onclick="msg()" style="background-color:#EE82EE;; border: 1px solid"></td><td><input type="reset" value="annuler" style="background-color:#EE82EE;; border: 1px solid"></td>
    </tr>
    </form>
    </table>
    0
  18. giheller
     
    donc nulle part tu passes le nom le prénom le mot de passe etc

    -fais ça --------
    $query = "DELETE FROM inscription WHERE login='".$login."'motpasse='".$motpasse."'";

    mysql_query($query);
    ----------------------------------------------
    JL,  m'enfin c'est juste mon avis @+
    se faire aider, n'est pas faire faire son travail
    0
  19. power11 Messages postés 19 Statut Membre
     
    toujours pas de suite favorable k j'ai fait ce que tu viens de me propose met cela ne supprimer pas l'enregistrement dans la base de donné
    0
  20. giheller
     
    que fait onclick=msg()

    où est le lien de ton formulaire vers la désinscription ?
    0
  21. power11 Messages postés 19 Statut Membre
     
    le onclick msg() c'est pour les champs vides en javascript
    je ne sais pas s'il faut avoir un lien avec le formulaire si c'est possible comment se là se passe
    0
  • 1
  • 2