1
A
回答
0
一般而言,如果事務失敗,您應該期望從數據庫返回錯誤,就像您嘗試執行單個查詢一樣。
請注意,並非所有MySQL表類型都支持事務。
1
檢查結果(mysql_query, PHP Manual):
對於SELECT,SHOW,描述,解釋等語句返回的結果集,請求mysql_query()成功返回的資源,或者在錯誤FALSE。
對於其他類型的SQL語句,INSERT,UPDATE,DELETE,DROP等,mysql_query()在成功時返回TRUE或在錯誤時返回FALSE。
例(PHP4風格):編輯:每約翰內斯的評論
mysql_connect("localhost", "username", "password") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$query = "INSERT INTO ..."; //Query here
mysql_query("BEGIN"); // transaction begins
$result = mysql_query($query);
if(!$result)
{
mysql_query("ROLLBACK"); //Transaction rolls back
echo "Rolled Back.";
exit;
}
else
{
$committed = mysql_query("COMMIT"); //Commit Transaction
if(!$committed)
{
//Commit Failed, take appropriate action
}
else
{
echo "Successful Insert.";
}
}
或者,PDO使用改進的示例,請參閱PDO try-catch usage in functions
0
每次執行SQL後,檢查DB沒有返回錯誤。使用http://www.php.net/manual/en/function.mysql-errno.php檢查錯誤。
的DB可以在任何時候返回錯誤,和每一個SQL應始終反正檢查...
相關問題
- 1. 確定execvp是成功還是失敗
- 2. 如何判斷庫是COM還是DCOM?
- 3. 動態數據 - 成功還是失敗?
- 4. MongoDB更新:如何檢查更新是成功還是失敗?
- 5. 如何檢查vim命令(動作)是成功還是失敗?
- 6. 我們如何知道removeClass操作是成功還是失敗?
- 7. JQuery如何識別響應是成功還是失敗
- 8. 斷言測試失敗是成功的
- 9. 如何判斷我的soundjs soundInstance是暫停還是完成?
- 10. 如何判斷成功$ .ajax()的返回數據是html還是json?
- 11. 測試如果執行塊是成功還是失敗
- 12. 當您的方法失敗,但成功...您會返回失敗還是成功?
- 13. 如何獲取「Invoke-Expression」的狀態,成功還是失敗?
- 14. 驗證付款是成功還是失敗
- 15. 檢查http是成功還是失敗Reactjs
- 16. 檢查SVNANT的SVN結算是成功還是失敗
- 17. 如何判斷TFS vNext構建是否通過變量失敗?
- 18. Spring Web:如何判斷DispatcherServlet是否加載失敗?
- 19. Memcached PHP模塊:如何判斷連接是否失敗?
- 20. 如何判斷WPF位圖圖像是否加載失敗?
- 21. 如何判斷malloc是否在iOS上快速失敗?
- 22. 如何判斷拖放操作是否失敗?
- 23. 如何判斷XMLHttpRequest是否因網絡問題而失敗?
- 24. 如何通過批處理腳本檢查VCBUILD是失敗還是成功
- 25. 如何運行異步方法,無論以前是成功還是失敗
- 26. 如果交易失敗
- 27. 如何判斷用戶是新訪客還是返回? analytics.js
- 28. 如何判斷bonjour服務是無線還是藍牙?
- 29. 如何判斷我寫的程序是32位還是64位?
- 30. 如何判斷跳轉是絕對還是相對?
不要使用@ operatorin這樣的過度方式。這使得調試非常困難。相反,將display_errors設置爲關閉並將錯誤記錄到日誌文件。 並且您不檢查提交是否成功... – johannes 2009-12-24 09:21:50
好點 - 請參閱上面的編輯 – micahwittman 2009-12-24 09:31:30