PDO::inTransaction()
(PHP 5 >= 5.3.3, Bundled pdo_pgsql, PHP 7)
检查是否在一个事务内
说明
PDO::inTransaction(void): bool
检查驱动内的一个事务当前是否处于激活。此方法仅对支持事务的数据库驱动起作用。
参数
此函数没有参数。
返回值
如果当前事务处于激活,则返回TRUE
,否则返回FALSE
。
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)
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.
This method actually seems to work fine on PHP5.3.5 (and probably a few older versions).