php如何处理mysql事务控制

傷城~ 2022-03-31 11:22 331阅读 0赞
  1. 博主最近在开发一个项目的时候,由于需要使用mysql事务进行控制,防止业务出错,所以就想到了用mysql事务控制来完成,因为是第一次使用原生的PHP处理mysql事务控制,自然也是百度了一番,最后还是自己总结出了方法,大家可以参考参考,代码如下:
  2. #链接数据库
  3. $conSW = mysqli_connect("数据库地址", "账户", "密码", "数据库名称");
  4. if (!$conSW) {
  5. $json = json_encode(array(
  6. 'code' => 404,
  7. 'data' => '',
  8. 'error' => "数据库链接失败"
  9. ));
  10. echo($json);
  11. exit();
  12. }
  13. #事务开启【事务头】
  14. mysqli_query($conSW, "set names utf8");
  15. mysqli_select_db($conSW, '表名2');
  16. mysqli_query($conSW, "SET AUTOCOMMIT=0"); // 设置为不自动提交,因为MYSQL默认立即执行
  17. mysqli_begin_transaction($conSW);
  18. #事务操作一
  19. $insertSql = "INSERT INTO 表名1(字段1,字段2) VALUES ('值1','值2')";
  20. $insertMember = mysqli_query($conSW, $insertSql);
  21. if (empty($insertMember)) {
  22. mysqli_query($conSW, "ROLLBACK"); //数据回滚
  23. $json = json_encode(array(
  24. 'code' => 404,
  25. 'data' => '',
  26. 'error' => "添加参与记录失败"
  27. ));
  28. echo($json);
  29. exit();
  30. }
  31. #事务操作二
  32. $updateSql = "UPDATE 表名2 SET 字段1='值1',字段2='值2' WHERE 条件1='条件值'";
  33. $updateMember = mysqli_query($conSW, $updateSql );
  34. if (empty($updateMember)) {
  35. mysqli_query($conSW, "ROLLBACK"); //数据回滚
  36. $json = json_encode(array(
  37. 'code' => 404,
  38. 'data' => '',
  39. 'error' => "状态更新失败"
  40. ));
  41. echo($json);
  42. exit();
  43. }
  44. #结束提交本次事务
  45. mysqli_commit($conSW);
  46. mysqli_close($conSW);
  47. #返回
  48. $json = json_encode(array(
  49. 'code' => 200,
  50. 'data' => '恭喜你事务成功',
  51. 'error' => ""
  52. ));
  53. echo($json);
  54. exit();
  55. 以上就是博主使用的事务操作代码,主要是开头的事务开始头,中间的事务回滚代码,以及最后的事务提交,如果不提交事务,之前的数据是不会产生改变,如果中间因为出问题而不事务回滚,则之前产生的数据会改变,小伙伴们可以试试。
  56. 更多文章请关注微信公众号

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0haWDE5OTQxMDE4_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,331人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MySQL事务控制与异常处理示例

    在MySQL中,事务是数据库操作的一组,这些操作要么全部成功,要么全部失败回滚。以下是使用MySQL进行事务控制和异常处理的示例: 1. 开始事务(如果当前不是事务中,会开始

    相关 php如何处理mysql事务控制

           博主最近在开发一个项目的时候,由于需要使用mysql事务进行控制,防止业务出错,所以就想到了用mysql事务控制来完成,因为是第一次使用原生的PHP处理mysql