Уязвим ли данный код к sql Инъекции?

Во фреймворке есть ActibeRecord, у которого есть метод where. В нём можно передать условие как в виде строки, так и в виде массива ключ-значение. Если во втором случае фреймворк будет биндить переменные в запросе, то в первом случае неизвестно. Информации по данному вопросу не нашёл. Скажите, будет ли фреймворк как-то разбивать строки и биндить переменные или такой код, без самостоятиельного биндинга будет уязвим?

Пример:

public function getNumberMax(int $userId): int {
    $numberMax = User::find()
        ->select(['max(number)'])
        ->where('user_id=' . $userId)
        ->scalar();

    return (int)$numberMax;
}

Как его корректно написать в итоге? Или так тоже можно и он не будет подвержен инъекции?


Ответы (0 шт):