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