А только так и будет работать, ибо иначе подставляется в запрос несуществующее значение. И коли скрипт обработчик именно запроса на удаление, то:
if($year = (int)$_POST['year']) {
$query = 'DELETE FROM publications.classics WHERE `year` = '.$year;
....
}