Совершенно очевидно, что если ваша система позволяет пользователям добавлять записи, он должна разрешать им удалять их. Эта задача следующего сценария. Он демонстрирует удаление записей, используя в качестве ключа имя пользователя. И опять-таки, основные принципы остаются прежними, меняется только строка запроса. 
Удаление данных
Листинг 21.29.
<html> <head>
<basefont face "Arial">
</head>
<body>
<center>
<?php
// форма была введена? // нет
if (!$_POST['submit']) {
?>
<113>Введите имя пользователя :</h3>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table> <tr>
<td>Имя пользователя</td>
<td><input name="uname" length="10" maxlength="30"></td>
</tr>
<tr>
<td>Название Web-узла</td>
<td><input name="label" length="30" maxlength="30"></td>
</tr>
<tr> 
<td colspan="2" align="center">
<input type="submit" name="submit" value="Submit">
</td>
</tr> </table> </form> <?php
}
// да
else
{
// присвоить данные, полученные методом POST, обычным переменным
PHP
$uname = $_POST['uname'];
// проверить все данные для того, чтобы убедиться в том,
// что они имеют правильный тип
if (empty($uname)) { die("Ошибка в поле USERNAME!"); }
// задать переменные доступа к серверу
$host = "localhost";
$user= "joe"; $pass = "secret"; $db = "db123";
// открыть соединение с базой данных
$connection = mysql_connect($host, $user, $pass) or die ("Невозможно подключиться!"); // выбрать базу данных
mysql_select_db($db) or die (" Невозможно выбрать рабочую базу дан­ных!");
// проверить существование пользователя // задать строку SQL- запроса
$query = "SELECT uid from bookmark_users WHERE uname = '$uname'"; // выполнить запрос и получить результирующий набор $result = mysql_query($query) or die (" Ошибка в запросе: $query. " . mysql_error());
if (mysql_num_rows($result)> 0)
{
// пользователь существует // получить идентификатор пользователя $row = mysql_fetch_assoc($result); $uid = $row['uid'];
}
else
{
die (" Нет такого пользователя!");
}
// освободить память, занятую результирующим набором
mysql_free_result($result);
// теперь удалить пользователя
$query= "DELETE FROM bookmark_users WHERE uid = . $uid'";
// выполнить запрос и получить результирующий набор
$result = mysql_query($query) or die (" Ошибка в запросе: $query. "
. mysql_error());
// а теперь удалить все ссылки этого пользователя
$query= "DELETE FROM bookmark_urls WHERE fk_uid = '$uid'";
// выполнить запрос и получить результирующий набор
$result = mysql_query($query) or die (" Ошибка в запросе: $query. "
. mysql_error());
// закрыть соединение 
mysql_close($connection);
?>
<113>Успешно !</h3> <table> <tr>
<td>
<?php echo $_POST['uname']; ?> - ссылки удалены.
</td>
</tr> <?php
}
?>
</center> </body> </html>
На рис. 21.9 показана начальная форма, а на рис. 21.10 - результат удаления пользо­вателя и его ссылок.
Удаление данных
Удаление данных
Копаем глубже
Для того чтобы узнать побольше, рекомендуем ознакомиться со следующими Internet-ресурсами!
• Официальный Web-узел PHP: http://www.php.net/
• Руководство по PHP: http://www.PHP.net/manual/
• Посвященный языку PHP раздел на Web-узле Melonfire, содержащий статьи, практические примеры и курсы обучения: http://www.melonfire.com/ community/columns/trog/archives.php?category=PHP
• Посвященный языку PHP раздел на Web-узле Devshed PHP: http://www.
devshed.com/Server_Side/PHP/
• PHPBuilder: http://www.phpbuilder.com/

Резюме
В этой главе рассказывается о функциях PHP, позволяющих пользователям подключаться к серверу базы данных MySQL, а затем взаимодействовать с ним для выполнения запросов и обработки полученных данных. Новейшие версии PHP поступают со встроенной поддержкой MySQL через разнообразный и гибкий набор функций. Эта глава продемонстрировала большинство из них в работе на фрагментах программного кода и законченных сценариев.
В главе описаны четыре основных компонента API-интерфейса MySQL: управление соединением, выполнение запросов, обработка полученного результата и отчет об ошибках. Глава завершается практическим примером конструкции приложения для ведения базы данных, предназначенной для хранения информации об Internet-ресурсах пользователей.