The 5th Annual China PHP Conference


(PHP 5 >= 5.3.3, Bundled pdo_pgsql, PHP 7)

PDO::inTransaction Checks if inside a transaction


public bool PDO::inTransaction ( void )

Checks if a transaction is currently active within the driver. This method only works for database drivers that support transactions.


This function has no parameters.

Return Values

Returns TRUE if a transaction is currently active, and FALSE if not.

add a note add a note

User Contributed Notes 3 notes

christopeh at xhaleera dot com
3 years ago
On OS X 10.9 with PHP 5.4.10, this function seems to correctly return bool(true) or bool(false) and not anymore integers.
r. hanouwer
5 years ago
Exceptions regarding existing active transactions were thrown while I was almost certain sufficient checks were in place.
However, I quickly found out that a strict boolean comparison to PDO::inTransaction() was failing.

Using var_dump I learned that this function was returning integers, not boolean values.

var_dump(PDO::inTransaction()); // int(1) || int(0)
ron korving
6 years ago
This method actually seems to work fine on PHP5.3.5 (and probably a few older versions).
To Top