Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Mengurus Transaksi dengan Benar dalam MySQLi?

Bagaimana Mengurus Transaksi dengan Benar dalam MySQLi?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-17 08:23:23297semak imbas

How to Properly Manage Transactions in MySQLi?

Mengendalikan Transaksi dalam MySQLi

Transaksi memainkan peranan penting dalam operasi pangkalan data, memastikan ketekalan dan kebolehpercayaan data. Dalam MySQLi, urus niaga dimulakan dan dimuktamadkan menggunakan arahan khusus.

Untuk memulakan transaksi, anda dengan betul menyebut keperluan untuk melaksanakan $mysqli->autocommit(FALSE);. Ini menyahdayakan komitmen automatik bagi perubahan yang dibuat pada pangkalan data, membolehkan anda mengumpulkan berbilang pertanyaan ke dalam satu transaksi.

Setelah transaksi dimulakan, semua pertanyaan berikutnya akan disimpan dalam penimbal sehingga sama ada $mysqli- >komit(); atau $mysqli->rollback(); arahan dikeluarkan.

$mysqli->commit(); arahan memuktamadkan transaksi, menggunakan perubahan yang dibuat secara kekal pada pangkalan data. Sebaliknya, $mysqli->rollback(); membatalkan transaksi dan membuang sebarang perubahan tanpa komitmen.

Dalam contoh kod yang anda berikan, transaksi pertama dimulakan dan disimpulkan dengan betul dengan $mysqli->autocommit(FALSE); dan $mysqli->commit();. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pertanyaan seterusnya di luar transaksi akan dilaksanakan tanpa kawalan transaksi.

Untuk memulakan transaksi baharu, anda mesti melumpuhkan autokomit sekali lagi:

$mysqli->autocommit(FALSE);

Sekali kedua transaksi selesai, ia boleh dilakukan seperti sebelum ini:

$mysqli->commit();

Atas ialah kandungan terperinci Bagaimana Mengurus Transaksi dengan Benar dalam MySQLi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn