下面是一个示例代码,演示如何进行删除操作,并自动删除关联在不同数据表中的数据:
//连接数据库 $conn = mysqli_connect("localhost", "username", "password", "database"); //检查连接是否成功 if (!$conn) { die("连接数据库失败:" . mysqli_connect_error()); } //设置将自动提交事务 mysqli_autocommit($conn, false); try { //删除文章记录 $article_id = $_POST['article_id']; $sql = "DELETE FROM articles WHERE id = '$article_id'"; mysqli_query($conn, $sql); //删除评论记录 $sql = "DELETE FROM comments WHERE article_id = '$article_id'"; mysqli_query($conn, $sql); //删除标签记录 $sql = "DELETE FROM article_tags WHERE article_id = '$article_id'"; mysqli_query($conn, $sql); //提交事务 mysqli_commit($conn); //输出成功信息 echo "文章删除成功!"; } catch(Exception $e) { //发生异常时回滚事务 mysqli_rollback($conn); echo "文章删除失败:" . $e->getMessage(); } //关闭数据库连接 mysqli_close($conn);
代码中使用了try-catch块来处理可能发生的异常,如果在删除记录过程中出现错误,将会回滚事务。同时,还使用了mysqli_autocommit()函数来自动提交事务。