一連のクエリをループできるように MySQL トランザクションを設定しようとしています (以下を参照)。それらのいずれかが失敗した場合は、すべての変更をロールバックします。ただし、失敗した場合、すべてのクエリがロールバックされるわけではないことがわかりました。私はここで何か悪いことをしていますか?
mysql_query("START TRANSACTION");
foreach($array1 as $arr){
// loop SQL query
if(mysql_error()){
$failed = "...";
}
}
foreach($array2 as $arr){
// loop SQL query
if(mysql_error()){
$failed = "...";
}
}
if(isset($failed)){
mysql_query("ROLLBACK");
} else {
mysql_query("COMMIT");
}
ありがとう!