codice:
<html> <head>
<title>Delete a Record from MySQL Database</title>
</head>
<body>
<?php
if(isset($_POST['delete'])) {
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname ='my_db';
$conn = mysql_connect('localhost', 'root', '', 'my_db');
if(! $conn ) { die('Could not connect: ' . mysql_error()); }
$id = $_POST['id'];
$sql = "DELETE FROM MyGuests WHERE id ='$id'" ;
mysql_select_db('my_db');
$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">ID</td>
<td>
<input name = "emp_id" type = "text" id = "emp_id">
</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 } ?>
</body>
</html>
L'ho formattato io in automatico, non è perfetto ma è leggibile.
L'errore secondo me sta in:
codice:
$sql = "DELETE FROM MyGuests WHERE id ='$id'" ;
che dovrebbe essere:
codice:
$sql = "DELETE FROM MyGuests WHERE id ='.$id.'" ;
Prova a vedere se così funziona.
In ogni caso ti consiglio di iniziare ad usare PDO per l'accesso al database, usare i prepared statement e bindParam per la sicurezza e fltrare gli input con filter_input, questo codice è fatto malino, non so se sei alle prime armi ma è sempre meglio iniziare con il piede giusto