0
我正在使用Codeigniter 2.1.4並試圖實現一個事務。我可能錯過了事務點,但我想要做的是上傳文件到我的服務器,併爲該文件創建一個數據庫條目。如果行插入或文件上傳失敗,我想不做。codeigniter控制器中的交易?
這是我控制的要點
先打開交易
$this->db->trans_begin();
添加與模型進入
$fileId = $this->file_model->addFile('someinfo');
執行文件上傳
$upload = $this->upload->do_upload('file');
檢查,以確保兩個通過
//commit
if($fileId AND $upload){
$this->db->trans_commit();
}
//rollback
else{
$this->db->trans_rollback();
}
交易不工作,如果上傳失敗或不是數據庫條目添加每一次,不管。
現在從以前的閱讀,它似乎是交易屬於模型,但這並不適用於我,因爲我也上傳了一個文件。
想法如何實現?
什麼RDBMS您使用的?例如,這可能是由mysql + MyIsam表引起的。 – complex857
非常感謝。它完全放棄了MyISAM不支持交易的想法。我認爲這是PHP相關的東西。那會花費我一段時間才能弄清楚。如果你想添加答案,我會很樂意接受它。 –