Одновременное удаление картинки из базы и директории.

Dreamer76

Through thorns
Одновременное удаление картинки из базы и директории.

У меня не получается последовательно провести 2 операции..

1. Удалить файл из директории
2. Удалить файл (название) из базы.

Вот скрипт.

PHP:
<?

$sql = "select * from pics where id = $id";
$result = mysql_query($sql);

	while ($row = mysql_fetch_object($result)) {
		
	    $file = $row->pic;
	
	    unlink("../ima/$file");
	
		if (!$unlink) {
		echo "1Error.";
		exit;
		} else {
		echo "1. File... Deleted.";
		}

	}



	$sql2 = "delete from pics where id = $id";
	$result2 = mysql_query($sql2);
			
	if (!$result2) {
	echo "2Error.";
	exit;
	} else {
	echo "2. Database... Creared.";
	}


?>

По отдельности все работает. А вот вместе, последовательно, не получается :( Помогите пожалуйста..
 

Dreamer76

Through thorns
PHP FAQ: Ничего не работает! Что делать??? - это интересная тема. Ознакомился... Но в данном случае не катит, в силу того, что ЧТО-ТО все же работает, а именно 1 и 2 части. По отдельности. А хотелось бы, чтобы работали обе, последовательно. В этом и суть моего обращения.
 

Фанат

oncle terrible
Команда форума
Суть моего ответа в том, что ответы на такие вопросы программист находит сам. Этот процесс называется отладкой.
И разделение на части - е единственный способ.
есть еще пошаговое выполнение.
надо вставлять вывод отладочной информации в скрипт.
и смотреть - на каком этапе что-то идет не так.

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

Скрипт - твой собственный. Ты можешь его менять.
вот и меняй. добавляй вывод отладочной информации.
не удаляется файл?
почему? какие ошибки выводит?
все ли правильные пути?
сморишь, анализируешь
 

Dreamer76

Through thorns
Да вот нифига-то ошибок и не выводится. Даже при использовании магических:

<?
ini_set('display_errors',1);
error_reporting(E_ALL ^E_NOTICE);
?>

!

Удаляет файл, но не удаляет из базы.
Меняю местами. Удаляет из базы, но не удаляет файл :(

Нет ошибок-то!
 

Фанат

oncle terrible
Команда форума
во-первых, надо убрать ^E_NOTICE
в-вторых, ну что ж тебе надо все по два раза повторять.
кроме ошибок ты должен САМ выводить ЗНАЧЕНИЯ ПЕРЕМЕННЫХ
и смотреть - соответствуют ли они ожидаемым!
 

Dreamer76

Through thorns
нашел.
проверку на ($unlink) стал делать.
ессно оно и ругалось.
мля.

спасибо Fanat.
 
Сверху