Cita: pero la conexion no la cierro sigue abierta, pues el usuario aun sigue activo, y si ejecuto el codigo desde el phpmyadmin xq aun sigue sin aparecer?, o es que si recargo la pagina de phpmyadmin tambien se borra la tabla temporal?
Si el script es ejecutado por una pagina web, y quieres ver la tabla con el phpMyadmin, no podrás jamás. Son dos conexiones diferentes, y la tabla sólo existe en una de ellas.
Eso es precisamente lo que te expliqué: El mismo usuario puede crear tablas de idéntico nombre en 100 conexiones a MySQL utilizando el mismo username y password, y cada una de ellas creará su propia tabla, independientemente de lo que hagas en otra conexión.
Las tablas TEMPORARY
existen dentro de una sesión de mysql, y son invisibles desde otra, aunque sean del mismo user,.
En el caso de phpMyadmin, cada vez que ejecutas una consulta puede estar abriéndose una conexión distinta. No sería nada raro (otros front-end lo hacen).
Claro que este último punto no es tema que pueda asegurarte porque phpMyadmin
no es MySQL, ni es parte de él. Es un proyecto independiente, y es posible que ese detalle te lo puedan decir en el Foro de PHP.
En todo caso, te comento que a nivel de script PHP, un microcorte de enlace (milisegundos), es suficiente para hacer que MySQL elimine la tabla.
Si quieres hacer el experimento, haz esto: Abre dos sesiones distintas a MySQL por consola, con el mismo usuario. Luego en una de ellas crea una tabla temporary y en la otra trata de borrarla.
MySQL te responderá, en la sesión donde no la creaste, que la tabla es desconocida.
Luego borrala en la sesión donde la creaste, y la borrará.
Finite.