Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2012, 09:42
Avatar de a_gomez
a_gomez
 
Fecha de Ingreso: marzo-2012
Ubicación: /var/www/
Mensajes: 48
Antigüedad: 12 años, 1 mes
Puntos: 2
Exclamación stored procedures php mssql. retorno valores

por favor necesito ayuda para este stored procedure...

la cosa es que necesito imprimir el resultado de este sp ...

Código SQL:
Ver original
  1. USE [Workflow4]
  2. GO
  3. /****** Objeto:  StoredProcedure [dbo].[AVERIGUARCODIGOBARRAS]    Fecha de la secuencia de comandos: 03/15/2012 15:50:03 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- =============================================
  9. -- Author:      <Author,,Name>
  10. -- Create date: <Create Date,,>
  11. -- Description: <Description,,>
  12. -- =============================================
  13. ALTER PROCEDURE [dbo].[AVERIGUARCODIGOBARRAS] (@RECIBO AS INT)
  14. AS
  15. BEGIN
  16.     -- SET NOCOUNT ON added to prevent extra result sets from
  17.     -- interfering with SELECT statements.
  18.     SET NOCOUNT ON;
  19.         DECLARE @IDFLUJORUTA AS INT
  20.         DECLARE @VALORGLOBAL AS INT
  21.     -- Insert statements for procedure here
  22. SELECT @IDFLUJORUTA = IDFLUJORUTA FROM VALORESGLOBALES WHERE IDVARGLOBAL = 69 AND VALORGLOBAL = @RECIBO
  23. SELECT @VALORGLOBAL = VALORGLOBAL FROM VALORESGLOBALES WHERE IDFLUJORUTA = @IDFLUJORUTA AND IDVARGLOBAL = 76
  24. SELECT 'EL CODIGO DE BARRAS DEL RECIBO ES', @VALORGLOBAL
  25. END

si se pueden fijar el resultado es :
Código SQL:
Ver original
  1. SELECT 'EL CODIGO DE BARRAS DEL RECIBO ES', @VALORGLOBAL

eso es lo que necesito sacar y este es mi codigo php...

Código PHP:
Ver original
  1. <?php
  2. ini_set("display_errors", 1);
  3.  
  4.  
  5.    $myServer = "xxx.xxx.xxx.xxx";
  6.    $myUser   = "xxxx";
  7.    $myPass   = "xxxxxxx";
  8.    $myDB     = "xxxxx";
  9.        
  10.         $conn = mssql_connect($myServer, $myUser, $myPass)or die("Couldn't connect to SQL Server on $myServer");
  11.         mssql_select_db($myDB, $conn)or die("Couldn't select database $myDB");
  12.    if(!$conn)
  13.    {
  14.       exit("<strong>Ya ocurrido un error tratando de conectarse con el origen de datos.</strong>");
  15.    }
  16.  
  17. if(isset($_POST["recibo"])){
  18.         $recibo=$_POST["recibo"];
  19.     }
  20.      
  21.     $valorglobal="";
  22.  
  23.     $stmt=mssql_init("AVERIGUARCODIGOBARRAS ",$conn);  
  24.     //aqui agregados los parametros de entrada
  25.     mssql_bind($stmt,"@RECIBO",$recibo,SQLINT4);
  26.    
  27.     //aqui agregamos los parametros de salida
  28.     mssql_bind($stmt,"@VALORGLOBAL",&$valorglobal,SQLINT4,TRUE,False,50);
  29.  
  30.     //aqui agregamos el parametro return del procedimiento almacenado
  31.     mssql_bind($stmt,"RETVAL",&$filas,SQLINT4);
  32.  
  33.     //aqui ejecutamos el procedimiento almacenado
  34.     mssql_execute($stmt);
  35.    
  36.     echo "<h2> EL CODIGO DE BARRAS DEL RECIBO ES : ".$valorglobal." </h2>";
  37.    
  38.     mssql_close($db_conexion);
  39. ?>

mi error es el siguiente..

PHP Warning: Call-time pass-by-reference has been deprecated in C:\inetpub\wwwroot\cregistros\class\operaciones\ac tion_codigodebarras.php on line 29 PHP Warning: Call-time pass-by-reference has been deprecated in C:\inetpub\wwwroot\cregistros\class\operaciones\ac tion_codigodebarras.php on line 32 PHP Warning: mssql_execute() [function.mssql-execute]: message: La función o el procedimiento AVERIGUARCODIGOBARRAS tiene demasiados argumentos. (severity 16) in C:\inetpub\wwwroot\cregistros\class\operaciones\ac tion_codigodebarras.php on line 35 PHP Warning: mssql_execute() [function.mssql-execute]: stored procedure execution failed in C:\inetpub\wwwroot\cregistros\class\operaciones\ac tion_codigodebarras.php on line 35 PHP Notice: Undefined variable: db_conexion in C:\inetpub\wwwroot\cregistros\class\operaciones\ac tion_codigodebarras.php on line 39 PHP Warning: mssql_close(): supplied argument is not a valid MS SQL-Link resource in C:\inetpub\wwwroot\cregistros\class\operaciones\ac tion_codigodebarras.php on line 39


agradesco a todas las personas que me puedan colaboarar ...