Поможет ли такой php-код защититься от sql-инъекций и XSS, какие в нём есть уязвимости?
Все что делает этот идиотский код - это портит входящие данные.
Я даже не знаю, стоит ли объяснять. Ведь 100500 раз уже объясняли.
Но самый, конечно ад - это ответы.
Когда начинаешь этим щеночкам объяснять, что такое инъекция, и как от нее защититься, все начинают шипеть - "да знаем уже, учоные!". Но когда доходит до дела - такой ад выдают, что становится понятно. Не учёные, а все те же обезьяны, которые вызубрили пару заклинаний, но по традиции не понимают, ни как эти заклинания работают, ни для чего они нужны. 
Тем, кто предлагает отрезать кавычки от quote, надо самим что-нибудь отрезать.
И это неловкое чувство, когда 2015 году слышишь самую заветную мантру мадагаскарских гамадрилов: "mysql_real_escape_string зашышает от ынъекцый!". Стоит, блин, такой  "устаревший", но еще крепкий архангел с пылающим мечом, и разит супостата прямо в темечко - вот так представляет себе принцип работы этой функции средний пользователь похапе.
>  В проекте не используется MySQLi, так бы real_escape_string заюзал.
А что используется? В MySQL как бы тоже есть функция mysql_real_escape_string