beginTransaction(); $transaction->execute("INSERT INTO tmp VALUES (?, ? * 2)", [6, 6]); $result = $transaction->execute("SELECT * FROM tmp WHERE a >= ?", [5]); // Two rows should be returned. foreach ($result as $row) { \var_dump($row); } $transaction->rollback(); // Run same query again, should only return a single row since the other was rolled back. $result = $db->execute("SELECT * FROM tmp WHERE a >= ?", [5]); foreach ($result as $row) { \var_dump($row); } $db->close();