Я не вижу практического применения, кроме обучения. Я предполагаю, что, поскольку вы знаете код, у вас есть разрешение проверить это. Так что давайте отдам!
Вы можете вернуть только 2 для ret_variable, когда в базе данных есть строка со значением 2 в качестве ret_variable, и вы знаете значение имени этой строки. Вы можете, например, ввести это имя и следующее, чтобы обойти правильное значение для возраста.
возраст и ret_value = 2
Это создаст следующий запрос:
SELECT ret_variable FROM data WHERE name = 'John' AND age = age AND ret_value = 2;
Принцип впрыска тузд является такого рода манипуляции запроса. Но вы не можете принудительно вернуть значение, если в базе данных нет строки с этим значением для ret_variable, и вы можете как-то выбрать эту строку.
Когда вы не знаете имя (или нет записи вашего известного имени с ret_variable из 2), это невозможно.
Поскольку оператор AND имеет приоритет над оператором OR, вы не можете манипулировать запросом, чтобы дать 2 как ret_variable. Это потому, что имя = '?' часть всегда будет терпеть неудачу.