Ben MySQL ve PHP kullanıyorum.
Bu işlem Koşu:
begin;
....
commit;
Nasıl PHP başarısız yargılamaya gerekir?
Sonucu kontrol (mysql_query, PHP Manual):
SELECT, SHOW, tanımlamak, açıklamak ve resultset dönen diğer ifadeler için, mysql_query () başarı bir kaynak verir, hata veya FALSE.
SQL ifadeleri, INSERT, UPDATE, DELETE, BIRAKMA, vb, mysql_query () diğer tür başarı veya hata FALSE TRUE döndürür için.
Örnek (PHP4-style): EDIT: johannes yorumuna başına Geliştirilmiş örneği
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.";
}
}
Yoksa, PDO kullanım için, http://stackoverflow.com/questions/272203/pdo-try-catch-usage-in-functions SEE
Her idam SQL sonra, DB hata iade etmediğini kontrol edin. http://www.php.net/manual/en/function.mysql-errno.php hataları denetlemek için kullanın.
DB herhangi bir noktada hata döndürebilir ve her SQL her zaman zaten kontrol edilmelidir ...