Merhaba,
Aşağıdaki kod ile veritabanına kayıt işlemlerini doğru şekilde yapıyor ama ilgili prosedürler sonlanmıyor, hata da vermiyor.
Bakabilirseniz sevinirim.

<?php
if($_POST){
    $name     = post('name');
    $phone    = post('phone');
    $note     = post('note');
    $address  = post('address');
    $payment  = post('payment');
    $code     = uniqid();
    if(!$name || !$phone || !$address || !$payment){
        echo 'empty';
    }else{
        $carttotal    = $db->prepare("SELECT SUM(toplamfiyat) as toplam FROM sepet WHERE sepetbayi=:b");
        $carttotal->execute([':b' => $bcode]);
        $carttotalrow = $carttotal->fetch(PDO::FETCH_OBJ);

        // ücretsiz kargolimit TL
        $kargolim  = $db->prepare("SELECT * FROM ayarlar WHERE sitekargo");
        $kargolim->execute();
            if ($kargolim->rowCount()) {
                $row = $kargolim->fetch(PDO::FETCH_OBJ);
                $kargolimit = $row->sitekargo;
                echo ($kargolimit);
            }
        // ücretsiz kargolimit TL

        // sepetteki ürünlerin toplam ağırlığı kg
        $carttotalkg  = $db->prepare("SELECT SUM(toplamkg) as toplamkg FROM sepet WHERE sepetbayi=:b");
        $carttotalkg->execute([':b' => $bcode]);
        $carttotalkgrow = $carttotalkg->fetch(PDO::FETCH_OBJ);
        $carttopkg = $carttotalkgrow->toplamkg;
        // sepetteki ürünlerin toplam ağırlığı kg

        // sepetteki ürünlerin toplam kargo TL
        $kargo1 = $db->query("SELECT MAX(kargokg) FROM kargo WHERE kargokg<='{$carttopkg}'")->fetch(PDO::FETCH_ASSOC);
        foreach($kargo1 as $kargo1){
        $kargo2 = $kargo1."";
        }
        $kargoTL  = $db->prepare("SELECT * FROM kargo WHERE kargokg=$kargo2");
        $kargoTL->execute();
            if ($kargoTL->rowCount()) {
                $row = $kargoTL->fetch(PDO::FETCH_OBJ);
                $kargotopTL = $row->kargofiyat;
            }
        // sepetteki ürünlerin toplam kargo TL

        if ($carttotalrow->toplam >= $kargolimit){
            $kargoP = "0";
        }else{
            $kargoP = $kargotopTL;
        }

        $result = $db->prepare("INSERT INTO siparisler SET
            siparisbayi     =:b,
            siparisisim     =:i,
            siparistel      =:t,
            siparistarih    =:ta,
            siparissaat     =:sa,
            siparisnot      =:note,
            siparistutar    =:sip,
            sipariskg       =:skg,
            sipariskgtl     =:stl,
            siparisodeme    =:od,
            sipariskodu     =:code,
            siparisadres    =:ad
        ");
        $result->execute([
            ':b'    => $bcode,
            ':i'    => $name,
            ':t'    => $phone,
            ':ta'   => date('Y-m-d'),
            ':sa'   => date('H:i'),
            ':note' => $note,
            ':sip'  => $carttotalrow->toplam + $kargoP,
            ':skg'  => $carttopkg,
            ':stl'  => $kargoP,
            ':od'   => $payment,
            ':code' => $code,
            ':ad'   => $address
        ]);
        if($result->rowCount()){

            $cart = $db->prepare("SELECT * FROM sepet INNER JOIN urunler ON urunler.urunkodu = sepet.sepeturun WHERE sepetbayi=:b");
            $cart->execute([':b' => $bcode]);
            if($cart->rowCount()){
                foreach($cart as $ca){
                    $orderproducts = $db->prepare("INSERT INTO siparis_urunler SET
                        sipkodu    =:s,
                        sipurun    =:u,
                        sipbirim   =:b,
                        sipadet    =:a,
                        siptoplam  =:t,
                        sipkg      =:k,
                        siptoplamkg=:tk,
                        sipurunadi =:ua
                    
                    ");
                    $orderproducts->execute([
                        ':s'   => $code,
                        ':u'   => $ca['sepeturun'],
                        ':b'   => $ca['birimfiyat'],
                        ':a'   => $ca['sepetadet'],
                        ':t'   => $ca['toplamfiyat'],
                        ':k'   => $ca['birimkg'],
                        ':tk'  => $ca['toplamkg'],
                        ':ua'  => $ca['urunbaslik']
                    ]);
                }
            }

            $deletecart = $db->prepare("DELETE FROM sepet WHERE sepetbayi=:b");
            $deletecart->execute([':b' => $bcode]);
            echo 'ok';

        }else{
            echo 'error';
            //print_r($result->errorInfo());
        }
    }
}
?>