1--TEST-- 2PDO_sqlite: Testing transaction 3--SKIPIF-- 4<?php if (!extension_loaded('pdo_sqlite')) print 'skip not loaded'; ?> 5--FILE-- 6<?php 7 8$db = new PDO('sqlite::memory:'); 9$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); 10 11$db->beginTransaction(); 12 13$db->query('CREATE TABLE IF NOT EXISTS foobar (id INT AUTO INCREMENT, name TEXT)'); 14$db->commit(); 15 16$db->beginTransaction(); 17$db->query('INSERT INTO foobar VALUES (NULL, "PHP")'); 18$db->query('INSERT INTO foobar VALUES (NULL, "PHP6")'); 19$db->rollback(); 20 21$r = $db->query('SELECT COUNT(*) FROM foobar'); 22var_dump($r->rowCount()); 23 24 25$db->query('DROP TABLE foobar'); 26 27?> 28--EXPECTF-- 29int(0) 30 31Warning: PDO::query(): SQLSTATE[HY000]: General error: 6 database table is locked in %s on line %d 32