如何在php中返回MSSQL存储过程结果


How to get back an MSSQL stored procedure result in php

我有一个存储过程数据库,它检查密码并返回0或1 的结果

如何在php中获得该结果?

    $this->data_selectdb(DB_ACC);
    $stmt = mssql_init('cabal_sp_IsValidPassword_by_ID');
    mssql_bind($stmt, '@UserID', $accountName ,  SQLVARCHAR,  false,  false,  50);
    mssql_bind($stmt, '@Password',  $accountPassword,  SQLVARCHAR,  false,  false,     32);
    mssql_execute($stmt);
    mssql_free_statement($stmt);

存储过程:

ALTER  PROCEDURE [dbo].[cabal_sp_IsValidPassword_by_ID](@UserID varchar(50), @Password    varchar(32))
AS
BEGIN    
DECLARE @Result int
SET @Result = 0
DECLARE @EncryptPassword varbinary(255)
SELECT @EncryptPassword = Password FROM cabal_auth_table with(nolock) WHERE ID =    @UserID
IF(@@ROWCOUNT > 0)
BEGIN
    SET @Result  = PWDCOMPARE(@Password, @EncryptPassword)
END
SELECT @Result
END

试试这个:

$result = mssql_execute($stmt);

然后这个从结果中得到行:

while($row = mssql_fetch_assoc($result))
{ 
    ...
}

我以前从未使用过这个函数,我一直只使用mssql_query函数,但根据本页上的一条评论,我上面给出的代码应该可以工作。如果有效,请告诉我。