【问题标题】:How to get back an MSSQL stored procedure result in php如何在 php 中取回 MSSQL 存储过程的结果
【发布时间】:2013-12-17 14:27:34
【问题描述】:

我有一个存储过程数据库,它检查密码并返回结果为 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

【问题讨论】:

    标签: php sql stored-procedures


    【解决方案1】:

    试试这个:

    $result = mssql_execute($stmt);
    

    然后从结果中获取行:

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

    我以前从未使用过这个函数,我一直只使用 mssql_query 函数,但根据this page 上的一个 cmets,我上面给出的代码应该可以工作。让我知道它是否有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-19
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-22
      相关资源
      最近更新 更多