Задать вопрос
@galliard

Как эскейпить динамическое имя поля в doctrine query builder?

Собственно, нужно сделать нечто подобное:
foreach ($filter->data as $key => $value) {
            $query->andWhere("JSON_GET_TEXT(t.data, '$key') = :$key");
            $query->setParameter($key, $value);
        }

Проблема в том, что $key может содержать что угодно, это невалидируемые пользовательские данные. Следовательно, есть опастность sql-инъекций. И если $value эскейпится при подготовке запроса, то $key вставляется в запрос напрямую и как его эскейпить - не понятно. Есть какие-то механизмы в доктрине для этого?
  • Вопрос задан
  • 26 просмотров
Подписаться 2 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы