php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #24987 autocommit
Submitted: 2003-08-08 10:41 UTC Modified: 2003-08-08 17:17 UTC
From: zotyo at srk dot ro Assigned:
Status: Not a bug Package: MSSQL related
PHP Version: 4.3.2 OS: Win2K
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: zotyo at srk dot ro
New email:
PHP Version: OS:

 

 [2003-08-08 10:41 UTC] zotyo at srk dot ro
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


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-08-08 17:17 UTC] sniper@php.net
Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions. 

Thank you for your interest in PHP.

Support questions belong elsewhere.

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 23:01:28 2024 UTC