Usar una variable no me da un error. con dos variables me da error de sintaxis.
set @a= '...'; set @b = '...'; PREPARE stm1 FROM 'SELECT * FROM ? WHERE username = ?'; EXECUTE stm1 USING @a, @b; Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? WHERE username = ?' at line 2otras preguntas no ayudaron.
Gracias
No puede usar un parámetro para un nombre de tabla. Tienes que usar la concatenación para sustituir una variable por la tabla.
PREPARE stm1 FROM CONCAT( 'SELECT * FROM `', @a, '` WHERE username = ?'); EXECUTE stmt1 USING @b;