PDO :: rollback
PDO :: rollback - untuk memutar kembali transaksi (PHP 5> = 5.1.0, PECL PDO> = 0.1.0)
penjelasan
tatabahasa
bool PDO::rollBack ( void )
Rollback transaksi saat dengan PDO :: beginTransaction () dimulai. Jika ada transaksi aktif, ia akan melempar PDOException pengecualian.
Jika database diatur ke mode auto-komit, fungsi ini (metode) akan dikembalikan setelah transaksi digulung kembali mode auto-komit.
Beberapa database termasuk MySQL, ketika transaksi serupa untuk menghapus atau membuat tabel data, dll pernyataan DLL, maka secara otomatis akan menyebabkan implisit komit. Implisit disampaikan tidak akan dapat memutar kembali perubahan dalam lingkup transaksi ini.
Kembali Nilai
kembali sukses BENAR, atau pada kegagalan kembali FALSE.
contoh
Memutar kembali transaksi
Contoh berikut gulung kembali perubahan sebelum awal transaksi dan mengeluarkan dua pernyataan yang memodifikasi database. Namun, di MySQL, DROP TABLE pernyataan secara otomatis melakukan transaksi, sehingga setiap perubahan dalam transaksi ini tidak akan digulung kembali.
<?php /* 开始一个事务,关闭自动提交 */ $dbh->beginTransaction(); /* 更改数据库架构和数据 */ $sth = $dbh->exec("DROP TABLE fruit"); $sth = $dbh->exec("UPDATE dessert SET name = 'hamburger'"); /* 识别错误且回滚更改 */ $dbh->rollBack(); /* 此时数据库连接恢复到自动提交模式 */ ?>