Suppression de données d'une base

viviennka -  
nabil07 Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   -
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!
A voir également:

3 réponses

nabil07 Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   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
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
nabil07 Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   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