Бред какой-то. Мб я не так понял конечно, но какая связь с удалением записей с мускуля и удалением файлов?
Ridikh на php - http://php.net/opendir, http://php.net/readdir. Получаете список всех файлов, сравниваете со списком хороших - остальные удаляете. В дальнейшем удаляете по человечески, не только из базы, но и с диска
unlink() Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Вот и обрабатывай ошибку как положено PHP: if (isset($_GET['id_del'])) { $id_del=$_GET['id_del']; $file_del=db_query("SELECT file_name FROM files WHERE id=$id_del"); if(unlink("files/".$file_del)){ // Для начала пытаемся удалить файл db_query("DELETE FROM files WHERE id=$id_del LIMIT 1"); // И если все гуд то удаляем и запись в базе unset($id_del); }else{ //Иначе во все горло орем о невозможности удалить файл echo "Ааааа.... млять не могу удалить эти чертовы байтики ис харда =( "; } } + Как вообще попадают файлы на сервер? какие права на них стоят? ... вообщем мало инфы. Кстати отображение ошибок включи и будет больше счастья ini_set('error_reporting', E_ALL); да кстати - лучше не так "files/" а так "/files/" относительно корневого каталога
PHP: if (isset($_GET['id_del'])) { $id_del = (int)trim($_GET['id_del']); $file_del = db_query("SELECT `file_name` FROM `files` WHERE `id`='$id_del'"); if(!$file_del){ die('Mysql problem'); } $array = mysql_fetch_array($file_del); $filename = $array['file_name']; if(db_query("DELETE FROM `files` WHERE `id`='$id_del' LIMIT 1") && unlink("files/".$filename)){ die('file deleted'); } else { die('i cannot delete file :('); } }
Ковыряйся в мускуле. Попробуй сделать запрос без всяких посторонних функций. Подключись к мускулю и сделай обычный mysql_query, он тебе напишет в чём ошибка заключается.