Section Artikel
Fungsi rollback() / mysqli_rollback()
digunakan untuk memutar kembali transaksi saat ini untuk koneksi database yang ditentukan.
Tip: Gunakan fungsi commit ()
untuk melakukan transaksi saat ini dan fungsi autocommit()
untuk mengaktifkan atau menonaktifkan modifikasi database otomatis.
$mysqli -> rollback(flags, name)
mysqli_rollback(connection, flags, name)
Parameter | Deskripsi |
---|---|
connection | Required. Menentukan koneksi MySQL yang akan digunakan |
flags | Optional. Sebuah konstanta: MYSQLI_TRANS_COR_AND_CHAIN – Menambahkan “AND CHAIN” MYSQLI_TRANS_COR_AND_NO_CHAIN – Menambahkan “AND NO CHAIN” MYSQLI_TRANS_COR_RELEASE – Menambahkan “RELEASE” MYSQLI_TRANS_COR_NO_RELEASE – Menambahkan “NO RELEASE” |
name | Optional. ROLLBACK / * name * / dijalankan jika parameter ini ditentukan |
Return Value: | TRUE jika sukses. FALSE jika gagal |
---|---|
PHP Version: | 5+ |
PHP Changelog: | PHP 5.5: Menambahkan parameter flag dan nama |
Contoh – Object oriented style
Matikan commit otomatis, buat beberapa kueri, commit kueri, lalu putar kembali transaksi saat ini:
<?php $mysqli = new mysqli("localhost","my_user","my_password","my_db"); if ($mysqli -> connect_errno) { echo "Gagal untuk menghubungkan ke MySQL: " . $mysqli -> connect_error; exit(); } // Matikan autocommit $mysqli -> autocommit(FALSE); // Insert beberapa values $mysqli -> query("INSERT INTO Persons (FirstName,LastName,Age) VALUES ('Peter','Griffin',35)"); $mysqli -> query("INSERT INTO Persons (FirstName,LastName,Age) VALUES ('Glenn','Quagmire',33)"); // Transaksi commit if (!$mysqli -> commit()) { echo "Commit transaction failed"; exit(); } // Transaksi rollback $mysqli -> rollback(); $mysqli -> close(); ?>
Contoh – Procedural style
Matikan komit otomatis, buat beberapa kueri, komit kueri, lalu putar kembali transaksi saat ini:
<?php $con=mysqli_connect("localhost","my_user","my_password","my_db"); if (mysqli_connect_errno()) { echo "Gagal untuk menghubungkan ke MySQL: " . mysqli_connect_error(); exit; } // Matikan autocommit mysqli_autocommit($con,FALSE); // Insert beberapa values mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age) VALUES ('Peter','Griffin',35)"); mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age) VALUES ('Glenn','Quagmire',33)"); // Transaksi commit if (!$mysqli_commit($con)) { echo "Commit transaction failed"; exit(); } // Transaksi rollback mysqli_rollback($con); // Tutup koneksi mysqli_close($con); ?>