PDO :: beginTransaction
PDO :: beginTransaction memulai transaksi (PHP 5> = 5.1.0, PECL PDO> = 0.1.0)
penjelasan
tatabahasa
bool PDO::beginTransaction ( void )
Menonaktifkan mode autocommit. Modus Autocommit dimatikan pada saat yang sama, oleh PDO objek perubahan misalnya dibuat ke database sampai Anda memanggil PDO :: komit () untuk mengakhiri transaksi hanya disampaikan.
Memanggil PDO :: rollback () akan memutar kembali perubahan yang dibuat ke database dan koneksi database kembali ke modus autocommit.
Beberapa database termasuk MySQL, ketika TABLE masalah DROP serupa atau CREATE TABLE pernyataan DDL tersebut, maka secara otomatis akan menjadi transaksi implisit melakukan.
Implisit atau eksplisit berkomitmen akan mencegah Anda memutar kembali perubahan lain dalam lingkup transaksi ini.
Kembali Nilai
kembali sukses BENAR, atau pada kegagalan kembali FALSE.contoh
Memutar kembali transaksi
Contoh berikut perubahan ini sebelum rollback dimulai 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(); /* 数据库连接现在返回到自动提交模式 */ ?>