is_numeric sadece gelen verinin digit olup olmadığını kontrol eder, ama eleman mesela 10 TL gibi birşey yazdıysa hata verir, bu durumda gelen veriyi temizleyip sadece sayısal kısmı veritabanına şu şekilde gönderebilirsin..

$veri = 'bu bir 5?0&5 5664Ş A65 44 karışık veridir*-';

$temizle = preg_replace('#[\D]#', '',$veri);

echo trim($temizle);