2016-11-08 72 views
0

我正在使用codeigniter,我想要從文件夾中刪除文件並從數據庫中刪除相關數據。但是如何確保兩者都能成功完成,否則它們都不會發生。如何確保已從文件夾中刪除文件以及從codeigniter中的數據庫中刪除的相關數據

下面的代碼是我對它的方法,但我擔心的情況就是,文件成功刪除,但由於某種原因,數據庫操作不成功。有沒有更好的方法呢?

if(unlink($path)){ 
    $this->admin_model->delete_data($id,$db); 

} 

回答

0

對不起,我的答案,但我的exp與CI一起工作了5個月。我會用這個方法: 首先,功能delete_data($ ID,$ DB)必須返回一個effective_rows,如:

public function delete_data($id,$db) 
{ 
    // your code delete 
    return $this->db->affected_rows(); 
} 

然後編輯你的代碼一點點:

if($this->admin_model->delete_data($id,$db) > 0) 
{ 
    if(unlink($path)) { 
    return true; 
    }else{ 
    return false; 
    } 
} 

希望它有幫助。對不起,我的英語不好。

+0

謝謝你的回答,這是有幫助的。 – Neloy

+0

那麼你的代碼可以確保在數據刪除不成功時不會發生unlink()....但是如果刪除數據是成功的,那麼出於某種原因unlink()不起作用?我的問題是如何確保兩者都會發生或者沒有發生。 – Neloy

+0

我看到了,如果你可以使用'if(unlink($ path)&& $ this-> admin_model-> delete_data($ id,$ db)> 0)'來確認其中的2個。所以如果沒有,你可以搜索'回滾MySQL',如果取消鏈接不工作。 –