using-transactions.php 632 B

12345678910111213141516171819202122232425262728293031323334
  1. <!DOCTYPE html><link rel="stylesheet" href="data/style.css">
  2. <h1>Using Transactions | dibi</h1>
  3. <?php
  4. require __DIR__ . '/../src/loader.php';
  5. dibi::connect([
  6. 'driver' => 'sqlite3',
  7. 'database' => 'data/sample.s3db',
  8. ]);
  9. echo "<h2>Before</h2>\n";
  10. dibi::query('SELECT * FROM [products]')->dump();
  11. // -> 3 rows
  12. dibi::begin();
  13. dibi::query('INSERT INTO [products]', [
  14. 'title' => 'Test product',
  15. ]);
  16. echo "<h2>After INSERT</h2>\n";
  17. dibi::query('SELECT * FROM [products]')->dump();
  18. dibi::rollback(); // or dibi::commit();
  19. echo "<h2>After rollback</h2>\n";
  20. dibi::query('SELECT * FROM [products]')->dump();
  21. // -> 3 rows again