0

我也是 CI 和 PHP 的新手。

我有一个表格,可以将公司及其联系人添加到服务器,包括文件上传。

我需要一键点击所有东西。

所以

function create_company()
{

 $insert = $this->database->insert();

 return $insert["insertID"]; //returns the inserted ID

}

function file_upload()
{

//upload files if there are some file input selected

return $array_of_uploaded_files;
}

function insert_contacts($company_id,$contacts_array)
{
//return true if everything success

}

我的问题是

  1. 第一个公司插入成功,但未能添加其联系人,然后我需要删除当前插入的项目
  2. 如果 insert_contact 失败,我需要删除上传的文件

那么,如果一个或多个依赖项失败,是否有任何方法可以回滚操作?

我知道 Codeignitor 中的事务,但我如何使用它[具有多个功能范围]?

文件上传呢?

请注意,我问这个问题是因为我是 php 新手,我能做的是创建这么多函数并在适当的情况下调用它。

我只想知道如何改进或简化我的代码......

谢谢你。

4

1 回答 1

1

为什么不使用事务?

http://ellislab.com/codeigniter/user-guide/database/transactions.html

所以像:

$this->db->trans_start();
// your database queries
$this->db->trans_end();

通过以下方式检查交易是否有任何错误:

$this->db->trans_status();    
于 2012-07-05T16:25:37.510 回答