如何用php从mssql过程中获取数据


How to fetch data with php from a mssql procedure

示例:

CREATE PROCEDURE test (@age int) AS BEGIN
BEGIN TRAN
declare @flag int
if @age>20
begin
set @flag=1
end
else if @age<21
begin
set @flag=0
end
select @flag as flag
COMMIT TRAN
END

我需要获取@flag's值使用php,我怎么能使这成为可能?

行= mssql_fetch_array美元($ r, MSSQL_ASSOC);国旗=美元行("国旗");

编辑:没关系,它没有工作,因为我忘记删除我的过程中的一些输出查询。

@flag是过程的局部变量。返回值的最佳方法是使用输出参数:

CREATE PROCEDURE test (@age int, @flag int output) AS
BEGIN
    set @flag = (case when @age > 20 then 1 else 0 end);
END;

我不明白为什么在这种情况下需要进行交易。