--TEST-- swoole_mysql: transaction --SKIPIF-- --INI-- assert.active=1 assert.warning=1 assert.bail=0 assert.quiet_eval=0 --FILE-- on("close", function () { echo "closed\n"; }); $swoole_mysql->connect([ "host" => MYSQL_SERVER_HOST, "port" => MYSQL_SERVER_PORT, "user" => MYSQL_SERVER_USER, "password" => MYSQL_SERVER_PWD, "database" => MYSQL_SERVER_DB, "charset" => "utf8mb4", ], function (\swoole_mysql $swoole_mysql, $result) { if ($result) { $swoole_mysql->begin(function (\swoole_mysql $swoole_mysql) { assert($swoole_mysql->errno === 0); $sql = "SELECT COUNT(*) AS cnt FROM userinfo"; $swoole_mysql->query($sql, function (\swoole_mysql $swoole_mysql, $result) { assert($swoole_mysql->errno === 0); $sql = "UPDATE `userinfo` SET `level` = '19' WHERE `id` = 4; "; $swoole_mysql->query($sql, function (\swoole_mysql $swoole_mysql, $result) { $swoole_mysql->rollback(function (\swoole_mysql $swoole_mysql) { $sql = "SELECT * FROM `userinfo` where `id` = 4;"; $swoole_mysql->query($sql, function (\swoole_mysql $swoole_mysql, $result) { assert($swoole_mysql->errno === 0); assert(intval($result[0]['level']) != 19); echo "SUCCESS\n"; $swoole_mysql->close(); }); }); }); }); }); } else { echo "connect error [errno=$swoole_mysql->connect_errno, error=$swoole_mysql->connect_error]"; } }); Swoole\Event::wait(); ?> --EXPECT-- SUCCESS closed