Вы не можете использовать локальную переменную в своем запросе, только определяемую пользователем переменную.
Значения параметров могут предоставляться только пользовательскими переменными, а предложение USING должно указывать ровно столько переменных, сколько количество маркеров параметров в инструкции.
http://dev.mysql.com/doc/refman/5.7/en/execute.html
Пользовательские переменные одного сеанса. Пользовательская переменная, определенная одним клиентом, не может быть видна или использована другими клиентами. (Исключение: пользователь, имеющий доступ к таблице производительности, user_variables_by_thread, может видеть все пользовательские переменные для всех сеансов.) Все переменные для данного сеанса клиента автоматически освобождаются при выходе этого клиента.
http://dev.mysql.com/doc/refman/5.7/en/user-variables.html
Поскольку локальные переменные в области видимости только во время выполнения хранимой программы, ссылки на них не допускаются в подготовленных инструкций, созданных в рамках хранимой программы. Подготовленная область отчета - это текущий сеанс, а не сохраненная программа, поэтому оператор может быть выполнен после завершения программы, после чего переменные больше не будут в области видимости. Например, SELECT ... INTO local_var не может использоваться как подготовленный оператор. Это ограничение также относится к хранимым процедурам и параметрам функции.
http://dev.mysql.com/doc/refman/5.7/en/local-variable-scope.html
Готовое заявление создан в рамках хранимой программы продолжает существовать после того, как программа закончит выполнение и может быть выполнена вне программы позже.
Заявление, подготовленное в сохраненном контексте программы, не может ссылаться на хранимую процедуру или параметры функции или локальные переменные, поскольку они выходят из области действия, когда программа заканчивается и будет недоступна, - это оператор, который будет выполнен позже вне программы. В качестве обходного пути обратитесь к пользовательским переменным, которые также имеют область сеанса.
http://dev.mysql.com/doc/refman/5.7/en/prepare.html
Вы можете использовать пользовательскую переменную и ограничить выпуск его в любом месте, но эта функция.