gpt4 book ai didi

php - 如果在事务期间失败,则删除文件,如何恢复/回滚之前执行的查询

转载 作者:行者123 更新时间:2023-11-30 23:00:30 30 4
gpt4 key购买 nike

如果交易失败,删除文件,如何恢复/回滚之前执行的查询?

我需要在事务中删除文件,是否可以知道如果取消链接文件失败则意味着删除文件失败然后回滚之前执行的sql..

和其他问题,如果在 unlink() 之后执行查询失败,如何恢复之前删除的文件?
就像使 unlink() 与交易分开

try{
$connect_db->beginTransaction();
// execute select query
// execute delete query
// .. execute other query

if (is_file($file_path)) {
if(unlink($file_path) == false) {
// How to recover/rollback delete query and other query execute before

$message = '';
return $message;
exit;
}
}

// ....execute other query
$connect_db->commit();
} catch (PDOException $e) {
$message = '';
}

return $message;

最佳答案

我想这就是您要找的:

if( is_file($file_path) ) {
if( ! unlink($file_path) ) { // or if(unlink($file_path) == false) {
$connect_db->rollBack();

$message = '';
return $message;
exit;
}
}

只要你的数据库支持事务。

您可能想要 read the transaction documentation .

关于php - 如果在事务期间失败,则删除文件,如何恢复/回滚之前执行的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24293471/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com