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 が失敗した場合は、アップロードされたファイルを削除する必要があります

1 つ以上の依存関係が失敗した場合、アクションをロールバックする方法はありますか?

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 に答える