Архив рассылки -программирование на PHP




Если это не так, обратитесь к главе
Если это не так, обратитесь к главе язык SQL.

3. Возвращаем 0 в качестве ошибки -- подтверждение того, что функция наша отработала успешно.

Вот и все, собственно. Мы умеем добавлять в базу данных новую рубрику.

Теперь ее удалим.

Только удалять из базы рубрику надо по ее идентификационному номеру, а не по названию. Для того он и нужен, этот самый идентификатор, чтобы обращаться к нужной записи в базе.

Добавьте еще одну переменную, и написать функцию удаления записи из таблицы рубрик не составит никакого труда.

var $in_cat_id; function in_cat_delete() { // Приводим номер рубрики к целочисленному виду $this->in_cat_id=(int)$this->in_cat_id; // Формируем запрос в БД $this->sql_query="delete from tbl_cats where c_id='".$this->in_cat_id."'"; $this->sql_execute(); if($this->sql_err) return(11); return(0); }
Все. Удалили.

Или не все? Или надо было произвести проверку на существование такой записи в базе, прежде чем ее удалять? Да, так и надо было сделать, если бы эта возможность была публичной. Например, когда посетитель сайта удаляет что-то из своей регистрационной карточки. Тогда важно лишний раз проверить и доложить пользователю: операция удаления произошла с ошибкой, ошибка заключается в том, что нет такой записи в базе. Но нам этого не нужно. Рубрики редко будут удалять, а функция удаления будет вызываться из защищенного паролем раздела сайта, куда вредный хакер еще должен как-то добраться, прежде чем попытаться удалить что-то не то.

Но необходимую защиту мы все же поставили -- преобразовав содержимое переменной in_cat_id в целое число. И если по ошибке или по причине вредительства в данной переменной окажется какая-то вредоносная строка, то она в процессе преобразования попросту превратится в значение "0". И функция нормально отработает запрос в базу: "удалить из таблицы рубрику под номером 0".









Начало    Назад    Вперед




Книжный магазин