Apabila menggunakan MySQL, memahami cara transaksi berfungsi adalah penting. Transaksi berfungsi sebagai cara untuk mengumpulkan berbilang pertanyaan dan memastikan ia dilaksanakan secara atom, bermakna sama ada semua atau tiada pertanyaan berjaya.
Dalam MySQLi, transaksi dimulakan dengan menyahaktifkan mod autocommit menggunakan pernyataan autocommit(FALSE). Autocommit ialah tingkah laku lalai MySQL, yang bermaksud setiap pertanyaan dilaksanakan secara bebas dan serta-merta. Dengan melumpuhkan autokomit, anda mendayakan kawalan transaksi, membolehkan anda mengumpulkan berbilang pertanyaan dan melaksanakannya sebagai satu unit.
Selepas mengumpulkan pertanyaan yang diingini dalam transaksi, anda mesti secara eksplisit tamatkannya. Terdapat dua cara untuk menamatkan transaksi:
Pertimbangkan coretan kod PHP berikut:
<?php // Database connection $mysqli = new mysqli('localhost', 'username', 'password', 'database'); // Start transaction $mysqli->autocommit(FALSE); // Queries within the transaction $mysqli->query('UPDATE `table` SET `column` = 1'); $mysqli->query('UPDATE `table1` SET `column1` = 2'); // Commit or rollback if ($allQueriesExecutedSuccessfully) { $mysqli->commit(); } else { $mysqli->rollback(); } ?>
Dalam contoh ini, mod autokomit dilumpuhkan menggunakan autokomit(FALSE), memulakan transaksi. Berbilang pertanyaan dilaksanakan dalam transaksi. Berdasarkan status pelaksanaan, urus niaga itu sama ada dilakukan atau ditarik balik.
Atas ialah kandungan terperinci Bagaimanakah Saya Memulakan dan Menamatkan Transaksi dalam MySQLi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!