Ответ
Misha v.3 30.04.2008 15:31
1. 123 и '123' в SQL запросе -- две большие разницы, rtfm;
2. как вам уже написали, SQL injection в случае с парсер-ом не будет (спасибо taint-ингу, который впрочем вы можете запросто сломать, написав вокруг SQL запроса ^taint[as-is][...]), в чем вы могли убедиться опробовав ваш код;
3. упомянутая вами 'защита' элементарно обходится добавлением в query string в нужных местах апострофа (если вы таки написали ^taint[as-is][]);
4. защищаться от некорректной подстановки в запрос букв вместо чисел надо не с помощью апострофов, а с помощью преобразований к числу: '... where id = ^form:id.int(0)'
5. про это написано на странице с описанием taint/untaint.