2014-07-15 55 views
1

我想在php和mysql中實現準確的會計。我的代碼工作得很好。如果發生錯誤時如何返回SQL查詢?

借記:

$query = new QUERY(array('TABLE'=>'account_treasury_local_agent')); 
$query->save($data); 

而對於信用:

$query = new QUERY(array('TABLE'=>'account_treasury_headquarters')); 
$query->save($data2); 

的問題是,我要恢復整個事務如果在第二功能的錯誤。我的意思是,我想一起運行這兩個查詢。沒有借方,信用不可能,反之亦然。

編輯:

我知道,這是可能的事務開始的方式,提交,回滾。但是,我不知道如何用php來實現它。

謝謝。

+1

你使用了一些特定的PHP框架?如果沒有,你應該發佈QUERY類,以便知道如何幫助你編輯保存功能以使其使用交易 – clami219

+0

使用mysqli你有函數mysqli :: begin_transaction mysqli :: commit和'mysqli :: rollback' [鏈接](http://php.net/manual/en/mysqli.begin-transaction.php) – JokiRuiz

回答

1

開始交易:BEGIN(或START TRANSACTION)。

提交:COMMIT

回滾:ROLLBACK

就是這樣。

+0

謝謝。但是,你有任何在PHP的例子? –

+0

'mysqli_query('BEGIN');'我懷疑你在這裏使用特定的**框架**,你不確定如何在該框架中運行查詢,但我們當然不能猜測更多關於框架。 PHP本身沒有運行查詢的特殊/複雜的方式。 – VoteyDisciple

+0

我正在使用codeigniter。但問題是,我沒有使用codeigniter的默認數據庫查詢。我建立了自己的類來運行查詢。我想,我明白了。我應該根據我的查詢類開始一個小例子。 –