增删改与事务

增删改和事务是写库的核心。INSERT/UPDATE/DELETE 直接用 mysqli_query 即可,涉及多步一致性的(比如转账)就开事务,要么全成要么全废。

增删改与事务要点

增删改与事务示例

						$conn = mysqli_connect("127.0.0.1", "app_user", "app_pass", "shop_db");

						// 新增
						$stmt = mysqli_prepare($conn, "INSERT INTO product (name, price) VALUES (?, ?)");
						mysqli_stmt_bind_param($stmt, "sd", $name, $price);
						$name = "机械键盘"; $price = 299.00;
						mysqli_stmt_execute($stmt);

						// 更新与删除
						mysqli_query($conn, "UPDATE product SET price = 259.00 WHERE id = 1");
						mysqli_query($conn, "DELETE FROM product WHERE id = 99");

						// 事务
						mysqli_begin_transaction($conn);
						try {
						    mysqli_query($conn, "UPDATE account SET balance = balance - 100 WHERE id = 1");
						    mysqli_query($conn, "UPDATE account SET balance = balance + 100 WHERE id = 2");
						    mysqli_commit($conn);
						} catch (Exception $e) {
						    mysqli_rollback($conn);
						}
						mysqli_close($conn);
避坑提醒:mysqli 默认自动提交,开事务后记得 commit,否则改动能回滚掉;调试时别两边都写,容易把数据卡在中间态。
增删改与事务 · PHP 连接 知识卡片
卡片 06 / 08 · PHP 连接(1080×1440 速查卡片)

PHP 连接知识点