Suppression de données d'une base

viviennka -  
nabil07 Messages postés 161 Statut Membre -
Bonjour,

J'ai un problème de suppression de données dans ma base de données et je souhaite une aide.En effet j'ai écrit ce code pour supprimer un enregistrement:
<div align="center">
<table border="0" size="400" align="center" bordercolor="#FFFFFF" bgcolor="#666666">
<legend class="Style21 Style20 Style2"><strong><em>Entrez les informations de suppression </em></strong></legend>
<tr>
<tr>
<td> <div align="center">Table</div><td><input type=text size="28" name="tabl" /></td> </td>
</tr>
<tr>
<td> <div align="center">Entrez un nom</div><td><input type=text size="28" name="nom" /></td> </td>
</tr>
<tr>
<td> <div align="center">Entrez un prénom</div><td><input type=text size="28" name="prenom" /></td> </td>
</tr>
<tr>
<div align="center">
<input name="submit" type="submit" value="ENVOYER" />
<input name="reset" type="reset" value="ANNULER" />
</div>
</tr>
</tr></table>
</div>
</form>
<div id="obs"> <span class="Style30">
<?php

if(isset($_POST['tabl']) and isset($_POST['nom']) and isset($_POST['prenom']))
{

$choix2=$_POST['tabl'];
$choix1=$_POST['nom'];
$choix3=$_POST['prenom'];
// connexion à la base
$db = mysql_connect("localhost", "root", "") or die('Erreur de connexion '.mysql_error());

// sélection de la base

mysql_select_db('dbvesos',$db) or die('Erreur de selection '.mysql_error());
$sql ='DELETE
FROM "'.$choix2.'"
WHERE nom="'.$choix1.'"';
mysql_query('sql') or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); // Requête SQL

{

?>

<?php

}

}

?>

Mais le message qui m'est renvoyé est le suivant:

Erreur SQL !DELETE FROM "" WHERE nom=""
Erreur de syntaxe près de 'sql' à la ligne 1

Je n'y comprends rien.Votre aide me serait précieuse.Merci d'avance!

3 réponses

  1. nabil07 Messages postés 161 Statut Membre 64
     
    les variables que tu passes via $_POST sont vident.
    vérifies si tes variables sont remplis ou pas avec la fonction empty($_POST['tabl'])
    0
  2. viviennka
     
    Bonsoir nabil07
    Merci pour ta contribution mais je ne comprends rien vu que je ne suis pas très calé en codage.Si tu pouvais m'aider un peu plus....
    0
  3. nabil07 Messages postés 161 Statut Membre 64
     
    Salut,

    voici ton code. ça marche, j'ai testé :

    <html>
    <head>
    	<title>CCM - Perte de données formulaire</title>
    </head>
    <body>
    	<form action="" method="POST">
    		<div align="center"> 
    			<table border="0" size="400" align="center" bordercolor="#FFFFFF" bgcolor="#666666"> 
    				<legend class="Style21 Style20 Style2"><strong><em>Entrez les informations de suppression </em></strong></legend> 
    				<tr>
    					<td><div align="center">Table</div></td><td><input type=text size="28" name="tabl" /></td>
    				</tr>
    				<tr>
    					<td><div align="center">Entrez un nom</div></td><td><input type=text size="28" name="nom" /></td>
    				</tr>
    				<tr>
    					<td><div align="center">Entrez un prénom</div></td><td><input type=text size="28" name="prenom" /></td>
    				</tr>
    				<tr>
    					<td><input name="submit" type="submit" value="ENVOYER" /></td>
    					<td><input name="reset" type="reset" value="ANNULER" /></td>
    				</tr>
    			</table> 
    		</div>
    	</form> 
    	<div id="obs"> <span class="Style30"> 
    	<?php 
    
    	if(isset($_POST['tabl']) and isset($_POST['nom']) and isset($_POST['prenom'])) 
    	{
    		if(!empty($_POST['tabl']) AND !empty($_POST['nom']) AND !empty($_POST['prenom']))
    		{
    			$choix2 = $_POST['tabl']; 
    			$choix1 = $_POST['nom']; 
    			$choix3 = $_POST['prenom']; 
    			
    			// connexion à la base 
    			// $db = mysql_connect("localhost", "root", "") or die('Erreur de connexion '.mysql_error()); 
    			// sélection de la base 
    			// mysql_select_db('dbvesos',$db) or die('Erreur de selection '.mysql_error());	
    			
    			$sql = "DELETE 
    					FROM ".$choix2."
    					WHERE nom = '".$choix1."'"; 
    			// mysql_query('sql') or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); // Requête SQL
    			
    			echo $sql;
    		}
    	} 
    
    	?>
    </body>
    </html>
    
    0