Dwie i pół uwagi.
<?php
//łączenie się z bazą danych
mysql_connect ("localhost", "root", "*****") or
die ("nie można połączyć z MYSQL");
Nie powinieneś dobierać się do bazy danych jako root, utwórz użytkownika o minimalnych uprawnieniach wystarczających do normalnej obsługi bazy (polecenia CREATE USER i GRANT). Rozumiem, że narazie to faza testów, ale na przyszłość tak. No i to hasło w kodzie..., tu "wygwiazdkowałem", ale ciekawe gdzie jeszcze takiego używasz?
$query = "DELETE FROM pliki WHERE id_pliku = '".$_GET['id']."';";
Nie powinieneś wklejać "nieobrobionego" fragmentu URI ($_GET['id']) do zapytania, chyba że dobrze wiesz co robisz. Użyj funkcji mysql_real_escape_string(), czy czegoś w tym rodzaju.
http://pl2.php.net/manual/pl/function.mysql-real-escape-string.php
krzychoocpp napisał: Przed usunięciem informacji o pliku z bazy danych, wykonaj zapytanie które zwróci ścieżkę do pliku - potem możesz usunąć i plik i rekord w bazie.
Najpierw usunąć rekord z bazy, a potem plik, chociaż i to nie było by do końca bezpieczne. Chodzi o sytuację, gdy równolegle do kasowania wystąpi inne zapytanie o ten plik i zostanie zwrócona ścieżka do już nieistniejącego pliku. Zazwyczaj oczywiście nie ma to większego znaczenia i nic groźnego nie powinno się stać.