Hatalı Kod bloğu
function aPhp($deger){
try{
if(is_array($deger)){
  foreach ($deger as $dc){
     if(!aVtislem($deger)){
    $hata=true;
    break;
  }
  if(isset($hata))
throw new Exception("{işlem başarısız. Geri alınıyor...");
}
  
}
}catch(Exception $i){
  return $i;
}
}

function aVtislem($deger){
try{
  $sorgu=vtBaglan()->prepare("update ayarlar set ayar_val=:deger");
      return $sorgu->execute(array("deger"=>$deger,"id"=>temizle($ad),"tip"=>$tip));
}catch(Exception $i){
   return false;
}
}
print_r(aPhp(array("deger1","ayar","val")));
Çözümlenmiş hali
function aPhp($deger){
try{
if(is_array($deger)){
vtBaglan()->beginTransaction();
  foreach ($deger as $dc){
     if(!aVtislem($deger)){
    $hata=true;
    break;
  }
  if(isset($hata))
throw new Exception("{işlem başarısız. Geri alınıyor...");
else
 vtBaglan()->commit();
}
  
}
}catch(Exception $i){
vtBaglan()->rollBack();
  return $i;
}
}

function aVtislem($deger){
try{
  $sorgu=vtBaglan()->prepare("update ayarlar set ayar_val=:deger");
      return $sorgu->execute(array("deger"=>$deger,"id"=>temizle($ad),"tip"=>$tip));
}catch(Exception $i){
   return false;
}
}
print_r(aPhp(array("deger1","ayar","val")));
burada örnek bir kod bloğu paylaştım yapmak istediğim şey aPhp fonksiyonuna göndermiş olduğum değerler kontrol edilsin sorun yoksa foreach ile döngüye alınsın ve herbir değer veritabanına yazılması için aVtislem fonksiyouna gönderilsin burada bir hata gelişirse catch bloğy devreye girsin ve işlem geri alınsın.Bu şekilde yapmak istedim ama sadece fonksiyon içindeki catch bloğuna işlem yaıyor bir önceki yaplan işlemler işlenmiyor.Bunu nasıl yapabilirim?