tldr: WHERE a LIKE concat('%',$1,'%') либо конкатенировать к параметру на стороне приложения.
'%$1%' - это строковой литерал, константа из 4 символов. Внутри литерала никто параметры искать и подставлять не будет. Поэтому в запросе не найдено ни одного места для параметров, а вы передаёте один параметр - что явная ошибка логики программы, об этом и выводится ошибка.