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

Reply via email to