Список сообщений Момору

TRIGGER (SQL)
Доброго времени суток, уважаемые Форумчане)
Друзья, пытаюсь создать триггер который удалял бы хвосты файлов при удалении директории но, пред моим взором навязчиво возникает мною заскриненая и к посту прикрепленная ошибка. Может это Денвер лагает и лучше его заменить Xampp(ом)?
А вот собственно и код злополучного триггера.
DELIMITER $$
CREATE OR REPLACE TRIGGER `tg_foto_dir`
AFTER DELETE ON `ac_foto_dir`
BEGIN
IF(SELECT COUNT(*) FROM `ac_foto_file` WHERE `id_dir` = OLD.id LIMIT 1) = 1
THEN (DELETE FROM `ac_foto_file` WHERE `id_file` = OLD.id) END IF;
END $$
DELIMITER;
Триггер №2 (Они взаимосвязаны, посему - неразлучныsmile ))
DELIMITER $$
CREATE OR REPLACE TRIGGER `tg_foto_alb`
AFTER DELETE ON `ac_foto_album` 
BEGIN
IF(SELECT COUNT(*) FROM `ac_foto_album` WHERE `id_album` = OLD.id LIMIT 1) = 1
THEN (DELETE FROM `ac_foto_file` WHERE `id_album` = OLD.id) END IF;
END $$
DELIMITER;

Добавлено через 00:40 сек.
Таблица директорий
/*
		Таблица директорий в фотоальбомах
	*/
	CREATE TABLE IF NOT EXISTS `ac_foto_dir`
	(
		`id` SERIAL,
		`time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Время создания директории',
		`time_alter` TIMESTAMP COMMENT 'Время последнего изминения',
		`open` set('0', '1') NOT NULL DEFAULT '0' COMMENT 'Возможность создавать фотоальбомы в директории. 1 - можно, 0 - запрещено',
		`size` bigint UNSIGNED NOT NULL DEFAULT '1024' COMMENT 'Максимальный вес выгружаеиого снимка',
		`dir` varchar(5120) NOT NULL DEFAULT '/' COMMENT 'Адрес текущей директории',
		`dire` varchar(5120) NOT NULL DEFAULT '/' COMMENT 'Адрес предведущей директории',
		`name` varchar(128) NOT NULL DEFAULT '' COMMENT 'Название директории',
		`opis` varchar(1024) NOT NULL DEFAULT '' COMMENT 'Описание директории',
		PRIMARY KEY (`id`),
		UNIQUE KEY (`name`),
		KEY (`time`, `time_alter`, `open`, `size`)
	) ENGINE InnoDB CHARACTER SET UTF8 COLLATE utf8_general_ci;

Написал: Момору
Альтернатива mysql_real_escape_string
6. Муз-ТВ, Вы в этом полностю уверены? У меня сложилось совершенно противоположное мнение и оно к сожалению истинно ибо проверено на практике. Включите показ ошибок и Вы убедитесь в этом воочию
Написал: Момору
Альтернатива mysql_real_escape_string
3. byvlad, спасибо, друг)
Первое как, говорится чтоб наверника)
Второе же, думаю большой роли не играет. Ведь и то, и другое в принципе проверка на одно и то же.
Важно твое конкретное мнение, слив оба представленных кода в один и проанализировав их как следует, можно ли с полной уверенностью сказать, что конструкция
		<?php
			if($db -> query("INSERT INTO `tabla` (`id`, `name`) VALUES ('".$_POST['id']."', '".$_POST['name']."')")
			 print 'Запись воспроизведена';
		?>
	
Будет полностью безопасна и не требует дополнительной фильтрации?
Именно это меня и интересует, а в синтаксических конструкциях я как нибудь разберусь сам) Волнует вопрос безопасности!
PS
За ранее благодарен

Добавлено через 01:49 сек.
4. Flyd, прочтите пост №1 внимательнее, будьте добры) Там все подробно описано и даже более чем. Спасибо
Написал: Момору
Альтернатива mysql_real_escape_string
Никто не в курсе чель?
Написал: Момору
Альтернатива mysql_real_escape_string
Привет всем!
Не далее чем вчера у меня неожиданно образовалась острая потребность фильтровать все полученные данные еще до открытия SQL соединения.
Естественно попытка все пропустить через mysql_real_escape_string(str)
приведет к вполне ожидаемому результату - ошибке. Следовательно ее надо заменить альтернативной функцией. Первое что, мне пришло в голову это - addslashes(str) которая,аналогично mysql_real_escape_string() экранирует все, как двойные, так и одинарные кавычки. На ней и решил остановится. Но, как говорится: Одна голова хорошо, а две во сто крат лучше. И постольку - поскольку я отнюдь не страдаю излишней самоуверенностью то решил обратится к коллективному разуму и узнать Ваше профессиональное мнение по поводу всей выше описанной затеи.
Имеется в ассортименте следующий код который по мнению пользователей портала dcms.su и моему мнению должен работать безукоризненно и совершенно безопасно не зависимо от ситуации и поставленных задач.
То есть, ниже описаная конструкция приведет к полной фильтрации с учетом экранирования всего лишнего?
<?php
		function escape_string($str)
		{
			if(is_numeric($str))
			 $str = (int)$str;
			else
			{
				$str = urldecode($str);
				if(preg_match('#\r\n|\r|\n#', $str))
				 $str = preg_replace('#\r\n|\r|\n#', ' ', $str);
				$str = addslashes(trim($str));
			}
			return $str;
		}
		$_GET = array_map('escape_string', $_GET);
		$_POST = array_map('escape_string', $_POST);
	?>
И в следующий код уже никак нельзя будет сделать SQl иньекцию?
<?php
		if($db -> query("INSERT INTO `tabla` (`id`, `name`) VALUES ('".$_POST['id']."', '".$_POST['name']) !== false)
		 print 'Запись осуществлена';
	?>

Я всем Вам безгранично за ранее благодарен. Помните, для меня мнение каждого из Вас драгоценно)
Написал: Момору
Символ 209 (ord)
Вопрос решен. Просто лагает функция strcasecmp. Тему можно крыть.
Написал: Момору
Символ 209 (ord)
Доброго времени суток, уважаемые Друзья)
Пишу движок, движок мультиязычный. И всё бы ничего но, сегодня столкнулся я с одной проблемой:
<?php
print ord('с'); //209
print ord('у'); //209
?>
И как с этим быть - ума не приложу.
Ребят, может кто-то сталкивался с аналогичной, или подобной моей проблемой - подскажите, помогите найти выход....
Заранее Вам благодарен, с уважением Я)
Написал: Момору
Вопрос-Ответ по ООП PHP
179. G_A_N_J_A_R, то есть $this будет не уместно?

Добавлено через 06:18 сек.
А если я потом вдруг вздумаю сделать вот так:
vasija::get_person();
Выведет true/false, или же выдаст ошибку?
Написал: Момору
Вопрос-Ответ по ООП PHP
Привет всем)
Вкурсе можно ли обращатся к переменной экземпляра из статического метода класса?
Например:
<?php
class vasija
        {
            protected $person = false;
            public static function set_person()
            {
                $this->person=true;
            }
            public static function get_person()
            {
                return $this->person;
            }
        }
?>
Можно ли сделать так, или обязательно использовать self, parent, static?
Зарание Вам благодарен)
Написал: Момору
Круглосуточное общение (10.05.2012 - 02.10.2012)
Дарова всем эта я
Написал: Момору