Deleting Data from MySQL Database

-
Bonjour,
j'ai un problème avec l'exécution d'un requête SQL dans un script PHP.Toujours affiche le message d'erreur suivant:
Could not delete data: Erreur de syntaxe près de '@gmail.com' à la ligne 1

voici le code de la page delete.php
 <?php
         if(isset($_POST['delete'])) {
            $dbhost = 'localhost';
            $dbuser = 'root';
            $dbpass = '';
            $conn = mysql_connect($dbhost, $dbuser, $dbpass);
            
            if(! $conn ) {
               die('Could not connect: ' . mysql_error());
            }
    
            $email = $_POST['email'];
            
            $sql = "DELETE FROM user WHERE email = $email" ;
            mysql_select_db('support');
            $retval = mysql_query( $sql, $conn );
            
            if(! $retval ) {
               die('Could not delete data: ' . mysql_error());
            }
            
            echo "Deleted data successfully\n";
            
            mysql_close($conn);
         }else {
            ?>
               <form method = "post" action = "<?php $_PHP_SELF ?>">
                  <table width = "400" border = "0" cellspacing = "1" 
                     cellpadding = "2">
                     
                     <tr>
                        <td width = "100">User email</td>
                        <td><input name = "email" type = "email" 
                           id = "email"></td>
                     </tr>
                     
                     <tr>
                        <td width = "100"> </td>
                        <td> </td>
                     </tr>
                     
                     <tr>
                        <td width = "100"> </td>
                        <td>
                           <input name = "delete" type = "submit" 
                              id = "delete" value = "Delete">
                        </td>
                     </tr>
                     
                  </table>
               </form>
            <?php
         }
      ?>


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

Votre réponse

1 réponse

Messages postés
14324
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 décembre 2018
0
Merci
Il manque les quotes autour de l'email dans ta requête.

Petit rappel, l'extension mysql est obsolète

Utiliser directement une information en provenance d'un formulaire est dangereux, l'adresse :
'; DROP TABLE user; --
ou
"; DROP TABLE user; --
ferait des dégâts (injection SQL)

J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
Commenter la réponse de NHenry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.