|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2003-02-19 04:36 UTC] rajesh dot gala at cgi dot com
I use MS SQL 2000.
I have a simple Stored procedure to be executed. the code is as below
the Stored proc is
Create PROCEDURE [AuthLoginUser]
@LoginUser CHAR(10),
@Password CHAR(32),
@ReturnVal INT OUTPUT
AS
BEGIN
SELECT @ReturnVal = count(*)
FROM [User] USR
WHERE USR.[User ID] = @LoginUser
AND USR.[Password] = @Password
AND USR.[Status]='A'
END
The php code is as below
$stmt = mssql_init("AuthLoginUser", $conn);
$LoginUser=$strRegisteredUsername ;
$Password=$strRegisteredPassword ;
mssql_bind($stmt,"@LoginUser",$LoginUser,SQLVARCHAR);
mssql_bind($stmt,"@Password",$Password,SQLVARCHAR);
mssql_bind($stmt,"@ReturnVal",$ReturnVal,SQLINT4,True);
$result=mssql_execute($stmt);
echo '<br><b>Return Value'.$ReturnVal.'</b>';
The problem is that variable $ReturnVal does not get populated
I executed the Stored procedure in the query analyser and I get values for the same.
Thanks,
Rajesh
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Nov 06 23:00:02 2025 UTC |
This too does not Work PHPCode $UserID = 'ADMIN'; $conn = mssql_connect("SERVER", "UID", "PASS"); mssql_select_db("DBANAME",$conn); $stmt = mssql_init("SELUser",$conn); mssql_bind($stmt,"@UserID",$UserID,SQLCHAR,false); mssql_bind($stmt,"@ReturnVal",$ReturnVal,SQLINT4,True); $result=mssql_execute($stmt); mssql_fetch_array($result); echo $ReturnVal; Stored Procedure CREATE PROCEDURE [SELUser] @UserID CHAR(10), @ReturnVal INT OUTPUT AS BEGIN SELECT * FROM [User] USR WHERE USR.[User ID] = @UserID SET @ReturnVal=@@ROWCOUNT END I get the data in the resultset but not in the Output paramenter. I have used the Output parameter in different ways across the application. How can we get the output parameter populated. ThanksI have just testet this sample with the current CVS version. This is my exact test code <?php if (!extension_loaded("mssql")) { dl("php_mssql.dll"); } $conn = mssql_connect("asterix","web","webuser"); $stmt = mssql_init("AuthLoginUser", $conn); $LoginUser = "frank"; $Password = "frank123"; mssql_bind($stmt,"@LoginUser",$LoginUser,SQLVARCHAR); mssql_bind($stmt,"@Password",$Password,SQLVARCHAR); mssql_bind($stmt,"@ReturnVal",&$ReturnVal,SQLINT4,True); $result=mssql_execute($stmt); echo '<br><b>Return Value '.$ReturnVal.'</b>'; mssql_close($conn); ?> And this is my output Return Value 1 There is no problems with return values as far as I can telle. mssql_bind($stmt,"@ReturnVal",&$ReturnVal,SQLINT4,True); and mssql_bind($stmt,"@ReturnVal",$ReturnVal,SQLINT4,True); both works as the third parameter is forced to be BYREF.