|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2021-03-16 08:46 UTC] nikic@php.net
[2021-03-17 06:58 UTC] sevak754 at gmail dot com
[2021-03-18 23:30 UTC] cmb@php.net
-Package: PDO related
+Package: PDO DBlib
[2021-04-13 13:58 UTC] menschov dot evgeny at yandex dot ru
[2021-04-13 14:19 UTC] nikic@php.net
[2021-04-19 13:55 UTC] sevak754 at gmail dot com
-Status: Open
+Status: Closed
[2021-04-19 13:55 UTC] sevak754 at gmail dot com
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 17:00:01 2025 UTC |
Description: ------------ I've tried to begin transaction with Yii2, but it didn't commit. It happened because here yiisoft/yii2/db/Transaction.php:168 is PDO::inTransactional() check and he always return false. This problem appeared after update to php 8. I use MSSQL and I think there is a problem with driver. Test script: --------------- if ($this->_level === 0) { Yii::debug('Commit transaction', __METHOD__); // make sure the transaction wasn't autocommitted if ($this->db->pdo->inTransaction()) { // always false $this->db->pdo->commit(); } $this->db->trigger(Connection::EVENT_COMMIT_TRANSACTION); return; } Expected result: ---------------- Transaction has been commited Actual result: -------------- Transaction has been rollbacked