Suppression de données d'une base

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. 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
    1. 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
      1. 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