ID: 37209 Updated by: [EMAIL PROTECTED] Reported By: netvbonline at yahoo dot co dot uk -Status: Assigned +Status: Feedback Bug Type: MSSQL related Operating System: Win XP Pro PHP Version: 5.1.2 Assigned To: fmk New Comment:
Please provide a short example of the procedure used to generate this. The current implementation will handle multiple results from a storred procedure and it will skip all results without column. Previous Comments: ------------------------------------------------------------------------ [2006-04-26 14:34:02] netvbonline at yahoo dot co dot uk SORRY, BIG TYPO "The mssql_execute method SHOULD NOT fail on execution (but in anycase should still have populated output parameters)." ------------------------------------------------------------------------ [2006-04-26 14:32:23] netvbonline at yahoo dot co dot uk Description: ------------ Using the extension php_mssql.dll and mssql_execute method to execute a stored procedure within SQL Server 2000. Basically, if the stored procedure generates a non-fatal message, for example trying to insert a duplicate value into a table before doing a big seek then output parameters are still available to Query analyser. However when using the mssql_execute method, the execution fails.. even though stored procedure is returning a successful execution value of 0. Its possible to have a stored procedure with 10 statements, and 5 legitamately may fail with a non fatal message, which is handled internally by the stored procedure. The mssql_execute method should fail on execution (any in anycase should still have populated output parameters). Cheers. Reproduce code: --------------- $hStmt = mssql_init("usp_fetch_or_insert_forename", $hCon); mssql_bind($hStmt, "@Forename", $name, SQLVARCHAR); // Output mssql_bind($hStmt, "@ForenameID", $ForenameID, SQLINT4, TRUE); $result=mssql_execute($hStmt,true); if (!$result) { echo "ERROR HAS OCCURRED"; } else { echo "NO ERROR"; } if ($ForenameID==0) { // error must have occurred echo "There was an error trying to get forename pk and forenameid is ".$ForenameID; } else { echo "everything is fine and forenameid is ".$ForenameID; } Expected result: ---------------- $ForenameID=Value Returned From Stored Procedure Actual result: -------------- $ForenameID=0 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=37209&edit=1