Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 暂停mysql操作,直到所有操作都返回true_Php_Mysql - Fatal编程技术网

Php 暂停mysql操作,直到所有操作都返回true

Php 暂停mysql操作,直到所有操作都返回true,php,mysql,Php,Mysql,我还没有找到答案,很可能是因为它的名字我不知道。不管是谁 如果在数据库上有多个操作,例如: if(insert_something_to_db($data) == TRUE){ if(delete_something_else_from_db($data2) == TRUE){ if(update_something_related_to_the_others_in_db($data3) == TRUE){ return TRUE;

我还没有找到答案,很可能是因为它的名字我不知道。不管是谁

如果在数据库上有多个操作,例如:

if(insert_something_to_db($data) == TRUE){
     if(delete_something_else_from_db($data2) == TRUE){
          if(update_something_related_to_the_others_in_db($data3) == TRUE){
               return TRUE;
          }
     } 
} else { 
     return FALSE;
}
如果任何嵌套查询失败,那么前面的操作将结束,这将导致数据库中的数据混乱。是否有可能/是否有一些技术/最佳实践来停止操作的执行,直到您知道它们是否都会成功

我举一个例子:

如果一个人想加入一个组,他单击“加入组” -在数据库中创建通知。这将显示在组所有者的“管理”面板中。 -组所有者可以拒绝/接受申请

接受时: -申请人用户数据将使用新的组信息进行更新。 -最初发送给组管理员的通知将被删除 -将为申请人创建一个新通知,通知他已被接受

只有当最外部的条件返回false(假设用户数据已更新)时,实际数据库才保存原始数据。如果第一次更新成功,但下一次更新失败,则配置文件已更新以反映与新组的链接,但组管理员区域中的通知未消失

问候
Dennis

您希望所有查询都处于一个状态,以确保有或无行为

基本上,你会:

  • 启动交易
  • 请回答您的问题
  • 最后
    • 如果所有查询都已成功,请提交事务
    • 否则,回滚事务


您可能需要阅读以下内容,以了解更一般的信息:

您希望所有查询都在一个数据库中,以确保有或无行为

基本上,你会:

  • 启动交易
  • 请回答您的问题
  • 最后
    • 如果所有查询都已成功,请提交事务
    • 否则,回滚事务

您可能需要阅读以下内容,了解更多一般信息: