dikkat etmemekle ilgisi alakası yok ,eğer '$id' şekliden kullanacak olsam senın fonksiyonuna ne gerek var ki? sql açıkları için kullanmama gerek bile yok.
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:58:00 -->-> Daha önceki mesaj 16:56:47 --
programlama eğitimini temel olarak alan kişisel integer verilerinde tırnak kullanmayacağını bilir.kullanılabilir de..
$x = 0;
şeklinde kullanılır çoğunlukla integer veriler.(son düzenlemenize istinaden bu)
İnteger verilerde tırnak kullanmayacağını biliyorsunuz ancak değişken türü atamayı deneyebilirsiniz.

$id = abs(intval( $_GET['id'] ));
$id = abs((int) $_GET['id']);
// Verdiğim fonksiyonu burada kullanmanıza bile gerek kalmıyor.
Vermiş olduğum örnekten gitmediğiniz için hiç bir şekilde size katılmıyor ve hala benim kullandığım şekilde aşılamayacağını savunuyorum aksini ispatlarsanız sevinirim benim örneklerimden
Ek olarak php'de bu şekilde dışarıdan gelen bir herhangi bir değer açık oluşturur sql sorgusunda yazdırılmaz. eğer kullanılacak ise de değişken tipi integer olarak belirtilmelidir aksi takdirde oradan join atıp başka tabloyada bağlanılabilir
Benim verdiğim örnekte tırnak içerisinde kullanmama rağmen direk sql sorgusu yazdırılabilir halde alıp alın açık var diyorsunuz komik bir yaklaşım.
Siz şöyle yapın isterseniz daha doğru bir örnek olur
$_GET['sql'] = 'SELECT * FROM users';
mysql_query(clean($_GET['sql']));
Lütfen hala iddialaşma gayretleri içerisinde iseniz vermiş olduğum örnek üzerinden gidin.