ID: 22294 User updated by: rajesh dot gala at cgi dot com Reported By: rajesh dot gala at cgi dot com Status: Open Bug Type: MSSQL related Operating System: win32 PHP Version: 4.3.1 New Comment:
The version of PHP is use is 4.3.1 windows binary downloaded from the php.net site. The zip file date is 18-Feb-2003. SQL Server 2000 OS Win 2000 Webserver Apache 4.0.44 Previous Comments: ------------------------------------------------------------------------ [2003-03-06 23:08:14] rajesh dot gala at cgi dot com 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. Thanks ------------------------------------------------------------------------ [2003-03-06 04:44:01] php at centaur dot mailshell dot com In addition to my previous comment: Windows XP SP1 MSSQL 2000 PHP Version => 4.3.2-dev Build Date => Feb 26 2003 02:23:31 Server API => Apache 2.0 Filter ------------------------------------------------------------------------ [2003-03-06 04:39:30] php at centaur dot mailshel dot com Output parameters seem to be populated after all result set are fetched using mssql_next_result(). However, mssql_execute seems to only return a valid result set resource on 'SELECT' queries, and not 'SELECT @param = expr' queries. The $result in a similar case is just 1. ------------------------------------------------------------------------ [2003-02-19 04:36:40] 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 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=22294&edit=1