You want to delete data in a database.
use ,b>DELETE to delete rows in a table and returns the number of rows that were deleted.
DELETE FROM table_name WHERE column_name=some_value;Without the WHERE clause all rows are deleted.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="EN"> <head> <title>Deleting Data in a Database</title> <meta Name="Author" Content="Hann So"> </head> <body> <p> <?php if (isset($_POST['submit'])) { process_form(); } else { if (isset($_GET['id'])) { $id = $_GET['id']; } display_form($id);// display form for the first time } function display_form($id) { echo <<<HTML <h2>Deleting Data in a Database</h2> <form action = "$_SERVER[SCRIPT_NAME]" method="post"> Username: <input type="text" name="username" size="50" value="hann" /> <br /> Password: <input type="password" name="password" size="50" /> <br /> Database name: <input type="text" name="db" size="50" value="hann_db" /> <br /> Table name: <input type="text" name="table" size="50" value="blog_entries" /> <br /> blog_id: <input type="text" name="blog_id" size="50" value="$id" /> <br /> <input type="submit" name="submit" value="Submit" /> </form> HTML; } function process_form() { DEFINE ('DB_HOST', "localhost"); DEFINE ('DB_USER', "$_POST[username]"); DEFINE ('DB_PASSWORD', "$_POST[password]"); DEFINE ('DB_NAME', "$_POST[db]"); DEFINE ('TABLE_NAME', "$_POST[table]"); $blog_id = stripslashes(trim($_POST[blog_id])); echo "<p>Opening the connection to the database server.</p>"; if ($link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD)) { echo "<p>The connection worked. The link is $link</p>"; // select a database if (@mysql_select_db(DB_NAME)) { echo "<P>The database ", DB_NAME, " has been selected.</p>"; } else { die ("<p>Could not select the database because: ". mysql_error(). "</p>"); } // define the query $query = "DELETE FROM " . TABLE_NAME . " WHERE blog_id=$blog_id LIMIT 1"; // run the query $r = mysql_query($query); // report on the result // mysql_affected_rows gets the number of rows affected by the previous MySQL operation. // if one row is affected then return true. if (mysql_affected_rows()==1) { echo "<p>The blog entry has been deleted.</p>"; // close the connection mysql_close($link); } else { die ("<p>Could not delete the entry because: ". mysql_error(). "</p>"); } } else { die ("<p>Could not connect to MySQL because: ". mysql_error(). "</p>"); } echo "<p><a href=\"$_SERVER[SCRIPT_NAME]\">Try again?</a></p>\n"; echo "<p><a href=\"example_r.php\">Retrieve data?</a></p>\n"; } ?> </p> </body> </html> |