Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como hacer una tabla temporal con los resultados de una consulta + php + sqlserver?

Estas en el tema de Como hacer una tabla temporal con los resultados de una consulta + php + sqlserver? en el foro de PHP en Foros del Web. Hola a todos los del foro... Hice esta consulta en sql-server y me funciono a la perfeccion pero al hacerla en PHP y enviarla a ...
  #1 (permalink)  
Antiguo 01/11/2013, 09:59
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Pregunta Como hacer una tabla temporal con los resultados de una consulta + php + sqlserver?

Hola a todos los del foro...

Hice esta consulta en sql-server y me funciono a la perfeccion pero al hacerla en PHP y enviarla a la base de datos me da un error diciendo que la tabla #PlayerTemp no existe:
Código PHP:
 $sql1 "SELECT IdPlayer, Player, Name, LastName, Email, Password, IdBook                 
               INTO #PlayerTemp
               FROM PLAYER 
               WHERE Name LIKE '%luis%' AND LastName LIKE '%espinoza%'"
 
 
$this->strData $this->strConnect->query($sql1 );

 
$sql2 "SELECT TOP 10000 P.[IdPlayer], 
                  P.[Player], 
                  L.[username], 
                  L.[password], 
                  L.[ip_address], 
                  L.[login_date], 
                  L.[success],
                  D.[Description], 
                  B.[host_name],
                  P.[Name] + ' ' + P.[LastName] AS 'Name', 
                  P.Email 
           FROM [CPW-SQLP105].[BackOffice].[dbo].[login] L, #PlayerTemp P, BOOK D, [CPW-SQLP105].[BackOffice].[dbo].[book] B
           WHERE D.[IdBook] = P.[IdBook] AND L.[book_id] = B.[book_id] AND D.[IdBook] = L.[book_id] AND 
                       P.[player] = L.[username] AND B.[id] = L.[website_id] AND 
                       L.[login_date] >= convert(datetime,('2013-01-30 20:10:11')) AND L.[login_date] <= convert(datetime,('2013-11-01 20:10:11'))AND L.[success] = 'N'"

 
$this->strData $this->strConnect->query($sql2);

 
$deleteTlbTemp "DROP TABLE #PlayerTemp";
 
$this->strData $this->strConnect->query($deleteTlbTemp); 
  #2 (permalink)  
Antiguo 01/11/2013, 13:10
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Como hacer una tabla temporal con los resultados de una consulta + php + s

en ningún momento veo que crees la tabla termporal, por lo general dichas tablas se crean al vuelo y se eliminan al cerrar la conexión, el único detalle es que debes definirlas al inicio
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 01/11/2013, 14:24
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
De acuerdo Respuesta: Como hacer una tabla temporal con los resultados de una consulta + php + s

maycolalvarez si pones este código en el SQL-SERVER te va a trabajar a la perfeccion, de hecho te crea la tabla con los valores retornados del select:
Código PHP:
SELECT IdPlayerPlayerNameLastNameEmailPasswordIdBook                  
INTO 
#PlayerTemp 
FROM PLAYER  
WHERE Name LIKE 
'%luis%' AND LastName LIKE '%espinoza%' 
Pero de esa forma simplemente no me quiso funcionar desde el PHP. Entonces opte por hacer lo siguiente y funciona al 100%, lo dejo por si alguien alguna vez se llega a encontrar en la misma situación que yo. Si le sirve a alguien recuerde dejar puntos
Código PHP:
$tlbTemp " CREATE VIEW testing AS SELECT IdPlayer, Player, Name, LastName, Email, Password, IdBook
FROM PLAYER
WHERE Player LIKE '%P1%' AND Name LIKE '%TEST%' AND LastName LIKE '%TEST%' AND
Email LIKE '%[email protected]%' AND Password LIKE '%.BP888%' AND Phone LIKE '%%' AND 
Zip LIKE '%%' AND Status = 'E' "
;

$this->strData $this->strConnect->query($tlbTemp);

$sql "  SELECT TOP 10000 P.[IdPlayer], 
                  P.[Player], 
                  L.[username], 
                  L.[password], 
                  L.[ip_address], 
                  L.[login_date], 
                  L.[success],
                  D.[Description], 
                  B.[host_name],
                  P.[Name] + ' ' + P.[LastName] AS 'Name', 
                  P.Email 
 FROM [BackOffice].[dbo].[login] L, testing P, BOOK D, [BackOffice].[dbo].[book] B
 WHERE D.[IdBook] = P.[IdBook] AND L.[book_id] = B.[book_id] AND D.[IdBook] = L.[book_id] AND 
       P.[player] = L.[username] AND B.[id] = L.[website_id] AND 
       L.[login_date] >= convert(datetime,('2013-01-30 20:10:11')) AND L.[login_date] <= convert(datetime,('2013-11-01 20:10:11'))
       AND L.[success] = 'N' "
;

$this->strData $this->strConnect->query($sql);

$deleteTlbTemp "DROP VIEW ViewPlayerTemporary";
$this->strData $this->strConnect->query($deleteTlbTemp); 

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:46.