Bagaimana untuk melakukan transaksi MySQL menggunakan PHP?

WBOY
Lepaskan: 2024-06-02 14:17:03
asal
398 orang telah melayarinya

Melaksanakan transaksi MySQL dalam PHP memastikan ketekalan dan integriti data. Langkah-langkahnya termasuk: Mewujudkan sambungan pangkalan data Membuka transaksi Melaksanakan pertanyaan Menyerahkan urus niaga (semua pertanyaan berjaya) Menggulung semula transaksi (sebarang pertanyaan gagal) Kes praktikal: Dalam aplikasi troli beli-belah, jika sebarang pertanyaan gagal, transaksi akan dilancarkan kembali dan troli beli-belah serta produk akan dibatalkan Perubahan pada jadual jika semua pertanyaan berjaya, transaksi dilakukan, menyimpan perubahan secara kekal.

如何使用 PHP 执行 MySQL 事务?

Bagaimana untuk melakukan transaksi MySQL menggunakan PHP?

Transaksi ialah satu siri operasi dalam pangkalan data, sama ada kesemuanya berjaya diserahkan, atau kesemuanya gagal ditarik balik. Menggunakan transaksi dalam PHP memastikan konsistensi dan integriti data.

Langkah:

  1. Wujudkan sambungan pangkalan data: Gunakan fungsi mysqli_connect() untuk mewujudkan sambungan ke pangkalan data MySQL. mysqli_connect() 函数建立与 MySQL 数据库的连接。
  2. 开启事务:使用 mysqli_begin_transaction() 函数开启事务。
  3. 执行查询:执行所有必要的查询。例如,更新表或插入数据。
  4. 提交事务:如果所有查询成功,使用 mysqli_commit() 函数提交事务。这将永久保存更改。
  5. 回滚事务:如果任何查询失败,使用 mysqli_rollback()
Mulakan transaksi

: Gunakan fungsi mysqli_begin_transaction() untuk memulakan transaksi.

Lakukan Pertanyaan

: Laksanakan semua pertanyaan yang diperlukan. Contohnya, mengemas kini jadual atau memasukkan data.

Komit transaksi🎜: Jika semua pertanyaan berjaya, gunakan fungsi mysqli_commit() untuk melakukan transaksi. Ini akan menyimpan perubahan secara kekal. 🎜🎜🎜Ubah semula transaksi🎜: Jika sebarang pertanyaan gagal, gunakan fungsi mysqli_rollback() untuk melancarkan transaksi. Ini akan membuat asal semua perubahan yang dibuat dalam transaksi. 🎜🎜🎜🎜Contoh Praktikal: 🎜🎜🎜Pertimbangkan aplikasi troli beli-belah yang mudah di mana pengguna menambah item pada troli beli-belah mereka. Kod berikut menunjukkan cara menggunakan urus niaga untuk mencapai fungsi ini: 🎜
// 建立数据库连接
$conn = new mysqli("localhost", "username", "password", "database");

if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 开启事务
$conn->begin_transaction();

// 插入新项目到购物车表中
$sql = "INSERT INTO cart (product_id, user_id, quantity) VALUES (?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("iii", $productId, $userId, $quantity);
$stmt->execute();

// 更新产品表中的库存
$sql = "UPDATE products SET stock = stock - ? WHERE product_id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ii", $quantity, $productId);
$stmt->execute();

// 检查是否有任何查询失败
if ($stmt->error) {
    // 回滚事务
    $conn->rollback();
    echo "添加商品到购物车失败!";
    exit();
}

// 提交事务
$conn->commit();
echo "商品已成功添加到购物车!";
Salin selepas log masuk
🎜 Dalam contoh di atas, jika sebarang pertanyaan (memasukkan ke dalam jadual troli atau mengemas kini jadual produk) gagal, transaksi akan ditarik balik dan perubahan dalam troli akan dibatalkan. Jika semua pertanyaan berjaya, urus niaga dilakukan dan perubahan pada troli beli-belah dan jadual produk diteruskan. 🎜

Atas ialah kandungan terperinci Bagaimana untuk melakukan transaksi MySQL menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan