我有一个存储过程数据库,它检查密码并将结果返回为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
答案 0 :(得分:0)
试试这个:
$result = mssql_execute($stmt);
然后从结果中获取行:
while($row = mssql_fetch_assoc($result))
{
...
}
我之前从未使用过这个函数,我总是只使用mssql_query函数,但根据this page上的一条评论,我上面给出的代码应该可行。如果有效,请告诉我。