从php中的sqlserver过程检索输出消息

mbzjlibv  于 2023-03-07  发布在  PHP
关注(0)|答案(1)|浏览(163)

我在执行函数的SQL Server中有这个过程,我想在PHP中收集输出。
问题是它返回的第一个结果是"result",然后它返回另一个结果和输出。
如何收集这些输出?
谢谢

DECLARE @NETO FLOAT
 DECLARE @DTO1 FLOAT
 DECLARE @DTO2 FLOAT
 DECLARE @DTO3 FLOAT
 DECLARE @CODIGO NVARCHAR(50)
 DECLARE @CODIGOEAN NVARCHAR(50)
 DECLARE @NOMBRE NVARCHAR(50)
 
 EXEC dbo.Precio, '.$IDCliente.', @NETO OUTPUT, @DTO1 OUTPUT,@DTO2 OUTPUT,@DTO3 OUTPUT,@CODIGO OUTPUT,@CODIGOEAN OUTPUT,@NOMBRE OUTPUT
 
 select @NETO as neto, @DTO1, @DTO2, @DTO3, @CODIGO, @CODIGOEAN, @NOMBRE
$stmt = sqlsrv_prepare($pc, $sql);
    sqlsrv_execute($stmt);
       
    do {
        $data=sqlsrv_fetch_array($stmt);
        sqlsrv_next_result($stmt);
    } while (sqlsrv_next_result($stmt)); 
    
    echo json_encode($data);

它返回给我的结果

gpfsuwkq

gpfsuwkq1#

第一个“结果”是受T-SQL语句影响的行数。默认情况下,它作为结果的一部分返回。要停用此选项,请尝试:set nocount on,就在过程声明之后。例如:

`create procedure [ProcedureName]
 @Params
 as
 set nocount on
 Your code here`

相关问题