Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/07/2014, 05:29
danielgaspar
 
Fecha de Ingreso: julio-2014
Mensajes: 2
Antigüedad: 10 años, 4 meses
Puntos: 0
Pregunta Tablas temporales no disponibles

Hola,

Soy nuevo en programación y posiblemente esté haciendo una pregunta básica para muchos, pero he buscado en todas partes y no consigo respuesta.

Mi duda es relativa a las tablas temporales en MySQL. Estoy trabajando con PHP.

Quiero crear una tabla temporal a partir de una consulta a una tabla permanente con datos que provienen de un formulario desde la página anterior ($_POST):

Código PHP:
$consulta "CREATE TEMPORARY TABLE Tienda_tmp SELECT * FROM Tienda WHERE (IdTienda LIKE '%$_POST[IdTienda]%' AND NombreTienda LIKE '%$_POST[NombreTienda]%')"
Luego quiero trabajar sobre la tabla temporal para mostrar los elementos que me interesan y así poder ordenarlos por cualquiera de sus columnas. Así que hago una consulta a la tabla temporal en el mismo script a continuación de la creación de la tabla:

Código PHP:
$consulta2 "SELECT * FROM Tienda_tmp ORDER BY $orden"
Hasta aquí todo funciona perfectamente. Consigo mostrar al usuario una tabla con $consulta2 con los valores que ha seleccionado.

El problema viene cuando realizo realizo otra consulta sobre la tabla (otra $consulta2) para ordenar según $orden, simplemente no puede realizar la consulta porque la tabla no existe.

En cada fichero *.php tengo al inicio:

Código PHP:
session_start(); 
Había leido que las tablas temporales existen mientras se mantenga abierta la sesión. Mientras no la cierre, la tabla debería estar disponible.

A lo mejor tengo un problema de concepto y por eso no veo por qué la tabla no está disponible, o a lo mejor, debería utilizar otro procedimiento para conseguir lo que pretendo.

Muchas gracias.

Daniel.