elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: [1]
1  Programación / PHP / Re: Recoger datos de procedimiento almacenado en PHP con SQLSRV en: 8 Marzo 2018, 05:47 am
 ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)

perecto, tenias toda la razón la diferencia en el PHP cuando usas un proceso almacenado toma como datos todas las partes del proceso, al crear una tabla temporal el PHP lo toma como un resultado y sale en blanco por que no genera respuesta y en la siguiente parte del proceso recién envia los datos de la tabla temporal y ahí si genera un resultado por eso cuando pusiste el otro while si nos da resultados, eres un capo, que gran nivel el tuyo, nuevamente gracias.

 ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)
2  Programación / PHP / Re: Recoger datos de procedimiento almacenado en PHP con SQLSRV en: 8 Marzo 2018, 03:23 am
 >:( la base si tiene datos.

cuando ejecuto una sentencia simple "un SELECT * FROM TABLA", si tengo resultados, el problema que tengo es solo cuando uso Procesos almacenados, si ves el proceso almacenado se juntan unas tablas creando una tabla temporal y después sacando los datos de la tabla temporal, intente instalar el MSSQL en el servidor pero me sale errores en cambio con el SQLSRV no tengo problemas
3  Programación / PHP / Re: Recoger datos de procedimiento almacenado en PHP con SQLSRV en: 8 Marzo 2018, 02:29 am
tampoco imprime nada, intente imprimiendo algo como echo "imprime hasta aca"; en el while como se muestra en este código pero ni eso imprime, o sea no esta funcionando el while

Código
  1. while ($id = sqlsrv_fetch_array($registros, SQLSRV_FETCH_ASSOC)) {
  2.     echo 'imprime hasta aca';
  3.     echo '<pre>';
  4.    print_r($id);
  5.    echo '</pre>';
4  Programación / PHP / Re: Recoger datos de procedimiento almacenado en PHP con SQLSRV en: 7 Marzo 2018, 23:32 pm
ingrese el código que me mandaste y todo pasa normal
se imprime el siguiente dato en pantalla:

Resource id #6

pero no sale ningun dato mas

el resultado que te digo sale cuando se ejecuta el codigo
Código
  1. echo '<pre>';
  2. print_r($registros);
  3. echo '</pre>';
pero de ahi no sale mas datos
5  Programación / PHP / Re: Recoger datos de procedimiento almacenado en PHP con SQLSRV en: 7 Marzo 2018, 17:54 pm
Gracias por responder EFEX

ya probe con sqlsrv_query y tambien ya habia visto el manual que me enviaste pero siempre obtengo el mismo resultado o sea nada, no se si hay algo mas en mi codigo que estea mal, te envio el codigo modiicado a sqlsrv_query

Código
  1.        $f_inicial ='01/01/'.(date("Y"));
  2.        $f_final = date("d/m/Y");
  3.        $gestora='pescobar';
  4.        $mes=0;
  5.        $actual=0;
  6.        $anterior=0;
  7.        $crecimiento=0;
  8.  
  9. include ("seguro.php");
  10.        global $HOSTNAME, $USERNAME, $PASSWORD, $DATABASE;
  11.            $info = array('Database'=>'Adicional', 'UID'=>$USERNAME, 'PWD'=>$PASSWORD);
  12.            $conexion = sqlsrv_connect($HOSTNAME, $info);
  13.            if( $conexion === false) {
  14.                die( print_r( sqlsrv_errors(), true));
  15.            }
  16.            $sql_preg="EXEC comparar_ventas_meses ?, ?, ?";
  17.  
  18.            $params = array(
  19.                &$f_inicial,
  20.                &$f_final,
  21.                &$gestora);
  22.  
  23.            $registros = sqlsrv_query( $conexion,$sql_preg, $params);
  24.  
  25.                 while ($id= sqlsrv_fetch_array($registros))
  26.            {
  27.                    echo $id['actual'];  
  28.            }  
6  Programación / PHP / [Resuelto] Recoger datos de procedimiento almacenado en PHP con SQLSRV en: 7 Marzo 2018, 01:42 am
Hola estoy realizando una pagina en PHP, en la cual tengo una conexion a una base SQL y uso el sqlsrv, todo va bien cuando uso sentencias simples, pero cuando intento recibir datos de un SELECT que se encuentra en un procedimiento almacenado no me genera ningun dato.

El codigo de mi proceso almacenado es el siguiente:

==================================================

Código
  1. ALTER PROCEDURE [dbo].[comparar_ventas_meses]
  2. @f_inicio AS DATE,
  3. @f_fin AS DATE,
  4. @gestora AS nvarchar(100)
  5.  
  6. AS
  7. BEGIN
  8.  
  9. SELECT MONTH(SalesDate) AS mes, SUM(paytotal) AS VENTA_ACT, 0 AS VENTA_ANT
  10. INTO #tmpResumen
  11. FROM _RetailData..RECEIPT
  12. INNER JOIN _RetailData..STORE ON RECEIPT.StoreNo = store.StoreNo
  13. WHERE CAST(SalesDate AS DATE) BETWEEN @f_inicio AND @f_fin
  14. AND RECEIPT.StatusCode = 'A'
  15. AND RECEIPT.SalesCode IN ('S', 'R')
  16. AND STORE.ActiveStatus=1
  17. AND STORE.StoreNo IN (SELECT idtienda FROM Administrator..tbgestoras_tienda WHERE idgestora =@gestora)
  18. GROUP BY MONTH(SalesDate)
  19.  
  20. UNION ALL
  21.  
  22. SELECT MONTH(SalesDate) AS mes, 0 AS VENTA_ACT, SUM(paytotal) AS VENTA_ANT FROM _RetailData..RECEIPT
  23. INNER JOIN _RetailData..STORE ON RECEIPT.StoreNo = store.StoreNo
  24. WHERE CAST(SalesDate AS DATE) BETWEEN  DATEADD(DD, -365, @f_inicio) AND DATEADD(DD, -365, @f_fin)
  25. AND RECEIPT.StatusCode = 'A'
  26. AND RECEIPT.SalesCode IN ('S', 'R')
  27. AND STORE.ActiveStatus=1
  28. AND STORE.StoreNo IN (SELECT idtienda FROM Administrator..tbgestoras_tienda WHERE idgestora =@gestora)
  29. GROUP BY MONTH(SalesDate)
  30.  
  31. SELECT mes, CAST(SUM(venta_act) AS DECIMAL(18,2)) AS actual, CAST(SUM(venta_ant) AS DECIMAL(18,2)) AS anterior, CAST((SUM(venta_act)/SUM(venta_ant) -1) * 100 AS DECIMAL(18,2) AS crecimiento FROM #tmpResumen
  32. GROUP BY mes
  33. HAVING NOT (SUM(venta_act) = 0
  34. AND SUM(venta_ant) = 0)
  35.  
  36. END

=================================================

y mi codigo php es el siguiente:

Código
  1.     $f_inicial ='01/01/'.(date("Y"));
  2.        $f_final = date("d/m/Y");
  3.        $gestora='pescobar';
  4.        $mes=0;
  5.        $actual=0;
  6.        $anterior=0;
  7.        $crecimiento=0;
  8.  
  9. include ("seguro.php");
  10.        global $HOSTNAME, $USERNAME, $PASSWORD, $DATABASE;
  11.            $info = array('Database'=>'Adicional', 'UID'=>$USERNAME, 'PWD'=>$PASSWORD);
  12.            $conexion = sqlsrv_connect($HOSTNAME, $info);
  13.  
  14.            $sql_preg="EXEC comparar_ventas_meses ?, ?, ?";
  15.  
  16.            $params = array(
  17.                &$f_inicial,
  18.                &$f_final,
  19.                &$gestora);
  20.  
  21.            $registros = sqlsrv_prepare( $conexion,$sql_preg, $params);
  22.            if (sqlsrv_execute($registros))
  23.  
  24.            {
  25.  
  26.                 while ($id= sqlsrv_fetch_array($registros))
  27.            {
  28.                    echo $id['actual'];  
  29.            }    
  30.            } else
  31.            {
  32.                die( print_r( sqlsrv_errors(), true));
  33.            }

por favor ayudenme ya que llevo dias buscando en internet y no enucentro ninguna solucion.

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines