Какие проблемы?
Какие конкретно символы?
какие и зачем?
Не пробовали задуматься?
Ваша проблема в том, что вы все это воспринимаете абстрактно. "ну есть какие-то инъекции, которые происходят через какие-то символы, которые экранирует какая-то функция".
При этом вы даже близко не понимаете, что такое инъекция. И для чего нужно это самое экранирование.
А туда же - писать гениальные врапперы для ПДО.
Инъекции получаются не из-за "спецсимволов". А путем выхода за границы грамматического литерала. Если у литерала нет ограничителей, как у числа например, или незакавыченного идентификатора, то вообще лафа - заходи кто хочешь, бери что хочешь.
Если ограничители есть, как у классического мальчика Бобби Тэйблс, но при этом эти ограничители не экранируются, то достаточно всего лишь закрыть литерал самому, и снова гулять свободно.
Отсюда становится понятно назначение экранирования. А оно примитивно до дебилизма: функция экранирования экранирует ограничители литерала. Те самые "не те кавычки". Не какие-то мифические "спецсимволы", а всего лишь те самые кавычки, которые служат границами строки. Тупо чтобы не перепутать с этой самой границей. Ну и заодно и сам экранирующий символ. Вы же сами это и делаете для идентификаторов.
Из чего следует вывод, что отрывать кавычки у quote() - это высшая степень дебилизма. Без кавычек она попросту не имеет смысла, ни малейшего. Вся суть этой функции в том, что она добавляет кавычки, в отличие от дебильной mysql_escape_string.
Еще там правда экранируется нулевой байт, но мне кажется, что современный софт уже не ломается через него. В крайнем случае можно руками.
В итоге всё это означает, что применять quote() для чего-то кроме строк - чуть более, чем бессмысленно. А поскольку строки у вас и так передаются через подготовленные выражения, то эта функция вообще не нужна.