Краткият отговор на вашия въпрос е "не".
В най-строгия смисъл, на ниво база данни, подготвените изрази позволяват само обвързване на параметри за битове „стойности“ на SQL израза.
Един от начините за мислене за това е „неща, които могат да бъдат заменени по време на изпълнение на оператора, без да се променя значението му“. Имената(ата) на таблицата не е една от тези стойности по време на изпълнение, тъй като определя валидността на самия SQL оператор (т.е. кои имена на колони са валидни) и промяната му по време на изпълнение потенциално би променила дали SQL операторът е бил валиден.
На малко по-високо ниво, дори в интерфейси на база данни, които емулират подмяна на параметри на подготвени изрази, а не действително изпращат подготвени изрази към базата данни, като PDO, което би могло да ви позволи да използвате заместител навсякъде (тъй като заместителят се заменя, преди да бъде изпратен до базата данни в тези системи), стойността на заместващия елемент на таблицата би била низ и би била затворена като такава в SQL изпратения към базата данни, така че SELECT * FROM ?
с mytable
тъй като параметърът всъщност ще изпрати SELECT * FROM 'mytable'
към базата данни, която е невалиден SQL.
Най-добрият ви залог е просто да продължите с
SELECT * FROM {$mytable}
но тиабсолютното трябва да има бял списък с таблици, срещу които първо проверявате, ако този $mytable
идва от въвеждането на потребителя.