ID: 16496 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Feedback +Status: No Feedback Bug Type: MSSQL related Operating System: Win2000 PHP Version: 4.1.2 New Comment:
No feedback was provided for this bug for over 2 weeks, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". Previous Comments: ------------------------------------------------------------------------ [2002-12-07 01:53:06] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-latest.zip ------------------------------------------------------------------------ [2002-04-08 11:54:31] [EMAIL PROTECTED] The problem is with executing a stored procedure with a null-value varchar output parameter. Steps... 1) create any SP that has a varchar(200) input/output param e.g. create procedure Test ( @TestVarchar varchar(200) = null output ) as select @TestVarchar = 'Successful parameter feedback'; 2) Run stored procedure using following statements... $ConnectionObj = mssql_connect($DB_SERVER_NAME, $DB_USER, $DB_PASSWORD); $aStatement = mssql_init("dbo.test", $ConnectionObj); mssql_bind($aStatement, "RETVAL", &$RetVal, SQLINT4); mssql_bind($aStatement, "@TestVarchar", &$Value, SQLVARCHAR, TRUE, TRUE, 200); $ExecResult = mssql_execute($aStatement); When PHP executes the SP it defines the parameter as VARCHAR(0) when it should be VARCHAR(200). I've run SQL Profiler and it shows... declare @P1 varchar(0) set @P1=NULL exec dbo.test @P1 output select @P1 when it should be declare @P1 varchar(200) set @P1=NULL exec dbo.test @P1 output select @P1 If you change the bind statement so that the @TestVarchar parameter is not null then the whole thing works. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16496&edit=1
