Sebenarnya saya bingung apakah ditulis transaksi atau transaction, takutnya ada kesalahan persepsi bagi orang yang membacanya.

Bagi yang pernah bermain-main dengan MySQL pasti sudah tahu bahwa sekarang MySQL sudah mendukung transaction, apa itu transaction? Google is your best friend :D

Kebetulan beberapa waktu yang lalu membuat aplikasi website dimana databasenya MySQL dan menggunakan transaction. Kalau di MySQL transaction bisa dilakukan seperti ini :

mysql> BEGIN;

// query mysql disini

mysql>COMMIT; // jika berhasil semua

mysql> ROLLBACK; //  jika ada yang gagal

Akhirnya karena dibutuhkan proses dengan PHP, setelah gugling-gugling nyari wangsit ketemu juga kayak gini caranya menggunakan transaction di MySQL dengan PHP  :

<?php

include(”koneksi.php”);

mysql_query(”BEGIN”);

// perintah yang menjalankan query MySQL disini

if($query1 == 1 && $query2 == 1 dst…) {

mysql_query(”COMMIT”);

echo “transaction berhasil”;

} else {

mysql_query(”ROLLBACK”);

echo “transaction gagal”;

}

?>

Maksud dari kode diatas, transaction dimulai dengan perintah mysql_query(”BEGIN”); setelah transaktion diinialisasi maka tinggal jalankan perintah-perintah untuk query ke MySQL, bisa insert, update, delete dll. Kemudian hasil setiap query disimpan kedalam variabel query1, query2… dst tergantung jumlah query yang dijalankan.

Setelah itu setiap variabel hasil query dicek valuenya, jika semua bernilai 1 alias semua query berjalan sempurna maka dijalankan perintah mysql_query(”COMMIT”); dan jika ada yang bernilai tidak sama dengan 1 alias 0 yang berarti ada query yang gagal dijalankan maka transaction dibatalkan dengan mysql_query(”ROLLBACK”); dan data akan dikembalikan ke keadaan sebelum transaksi dijalankan.

Ah jadinya gak konsisten, judulnya pake transaksi eh ditulisan pake transaction, bodo amat lah :D

Ini hanya sekedar catatan dari saya yang bodoh, bagi yang sudah mahir jangan menghina script sederhana ini ya :)