empty, hata kontrolü için kullanılmaz.
empty() - bir işlem sonucu değişken başarılı ise ama boş string, 0 string, integer 0, lisanssız, boş array, FALSE, lisanssız ise o değişkeni boş sayar.
var_dump($id); ile id'nin içeriğini kontrol edip hatayı görebilirsiniz.