预编译能完全防止sql注入吗