Pokud by se autor skriptu nefixoval na MySQL, mohl by využít i jiné (a IMHO daleko praktičtější) možnosti, a to placeholders. Pak by mohl psát třeba
ibase_query($conn, 'insert into TBL(ID,NAME) values(?,?)', $id, $name)
a na nějakou SQL injection by mohl v klidu zapomenout až do chvíle, kdy by potřeboval, aby se data od uživatele promítla skutečně do dotazu, ne jen do parametrů (což je velmi zřídka). Nehledě na to, že při opakování téhož dotazu s různými parametry lze pak místo ibase_query použít ibase_prepare a ibase_execute, což běh skriptu urychlí.
Naprostej souhlas, tohle mi osobne prijde jako ta ficurka ktera rozhodne o tom ze se pouzije nejaky rozhrani co umi parametry, jako treba ODBC, JDBC nebo ADO... Pokud clovek parametrizuje tak se nestane ze se zapomene pri kontrole vstupu. A ve spojeni se stored procedurama (kdy ma dany db login pouzity na konexi pouze a jen prava na pousteni urcitych SP, zadny text query nema dovoleny) je ta databaze docela spolehlive zabezpecena proti utoku. Jedinej problem je u listu, ty se do SP cpou spatne.