Det korta svaret på din fråga är "nej".
I strikt mening, på databasnivå, tillåter förberedda satser endast parametrar att bindas för "värden"-bitar i SQL-satsen.
Ett sätt att tänka på detta är "saker som kan ersättas vid körning av uttalandet utan att ändra dess innebörd". Tabellnamnen är inte ett av dessa körtidsvärden, eftersom det bestämmer giltigheten för själva SQL-satsen (dvs vilka kolumnnamn som är giltiga) och att ändra den vid körning skulle potentiellt ändra om SQL-satsen var giltig.
På en något högre nivå, även i databasgränssnitt som emulerar förberedd satsparametersubstitution snarare än att faktiskt skicka beredda satser till databasen, såsom PDO, vilket kan tänkas tillåta dig att använda en platshållare var som helst (eftersom platshållaren ersätts innan den skickas till databasen i dessa system), skulle värdet på tabellplatshållaren vara en sträng, och som sådan innesluten i den SQL som skickas till databasen, så SELECT * FROM ?
med mytable
eftersom paramet faktiskt skulle skicka SELECT * FROM 'mytable'
till databasen, vilket är ogiltig SQL.
Det bästa är bara att fortsätta med
SELECT * FROM {$mytable}
men du absolut bör ha en vit lista med tabeller som du kollar mot först om den $mytable
kommer från användarinmatning.