Tienes un error básico: Lo que quieres hacer requiere de
sentencias preparadas (ver link), sin las cuales no se puede crear dinámicamente una consulta, basándose en valores que entran como parámetros (nombre de tabla y campos).
Por otro lado, hasta lo que yo sé, no está permitido el uso de
dentro de una sentencia preparada, así que creo que deberás planearlo de otra forma.