Home » PHP » Fungsi mysqli rollback() PHP

Fungsi mysqli rollback() PHP

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

Definisi dan Penggunaan

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.

Syntax

Object oriented style:

$mysqli -> rollback(flags, name)

Procedural style:

mysqli_rollback(connection, flags, name)

Nilai Parameter

ParameterDeskripsi
connectionRequired. Menentukan koneksi MySQL yang akan digunakan
flagsOptional. 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”
nameOptional. ROLLBACK / * name * / dijalankan jika parameter ini ditentukan

Detail Teknis

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);
?>

You may also like