|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-08-08 17:17 UTC] sniper@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 07:00:01 2025 UTC |
Description: ------------ Hi, MSSQL 2000 is using autocommit. Normally I can turn this off by entering BEGIN TRANSACTION and can decide later to COMMIT or ROLLBACK the transaction. My problem is that I have the following code: MSSQL_PCONNECT($hostname,$username,$password) or DIE("DATABASE FAILED TO RESPOND."); mssql_select_db($dbName) or DIE("Table unavailable"); mssql_query('BEGIN TRANSACTION'); while($query = fgets($fp)) { mssql_query($query); } mssql_query('ROLLBACK'); --- Errormsg in browser: Warning: mssql_query(): message: The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION. (severity 16) in c:\inetpub\wwwroot\php\restoredb.php on line 22 Is there something I didn't understand related to PHP or is this is a bug? Pls. answer me, because i try to fix this problem since a week and tried a lot of things to trick this out and I have no ideea of what shall I do next... This would solve a huge problem of mine. A transaction from my page can contain over 2K of insert into -s and I have to rollback the transaction if one of the rows cannot be inserted. Thank you for your time, Zoltan Papp. Reproduce code: --------------- MSSQL_PCONNECT($hostname,$username,$password) or DIE("DATABASE FAILED TO RESPOND."); mssql_select_db($dbName) or DIE("Table unavailable"); mssql_query('BEGIN TRANSACTION'); while($query = fgets($fp)) { mssql_query($query); } mssql_query('ROLLBACK'); Expected result: ---------------- Transaction Rolled Back. Actual result: -------------- Warning: mssql_query(): message: The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION. (severity 16) in c:\inetpub\wwwroot\php\restoredb.php on line 22