首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理客户端请求时处理服务器错误/数据库数据

处理客户端请求时处理服务器错误/数据库数据
EN

Software Engineering用户
提问于 2018-06-05 17:00:13
回答 1查看 50关注 0票数 0

假设我的服务器PHP端点遵循以下内容:

  1. 客户端向服务器发送请求。
  2. 服务器更新记录
  3. 服务器可能会做一些PHP处理..。
  4. 服务器更新记录

如果服务器在执行SQL命令(2或4)或在3期间崩溃时,该怎么办?

这仅仅是我需要进行防御性编码的一种情况,确保我知道在关键代码区域发生崩溃的每一个可能结果的后果,即执行某种崩溃分析以确定最坏的结果,并确保我的工作流程能够处理每一种情况。

又或者我是否可以用其他机制来协助处理这类个案?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2018-06-05 21:52:38

考虑到评论中的暗示,我能够辨别正确的行动方向。从MyISAM SQL数据库引擎切换到InnoDB数据库引擎,我可以使用事务来安全地防止在数据库中引入错误:

代码语言:javascript
复制
START TRANSACTION
INSERT, UPDATE, ETC...
COMMIT

在到达commit命令之前,InnoDB引擎不会进行任何更改,因此,如果在该行之前发生任何错误,那么数据库不会受到影响。

此外,根据对交易的出色的W3Resources介绍,

MySQL (在这里我们维护版本5.6)支持本地事务(在给定的客户端会话中)

因此,似乎单个PHP连接支持事务模型,如果必要的话,可以在SQL查询之间执行间歇性PHP处理,实际上,我昨晚证实了这一点。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/372131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档