$orders = $db->prepare("SELECT sipariskodu,sipariskgtl FROM siparisler WHERE siparisuye=:b ORDER BY sipariskodu DESC LIMIT 1");
$orders->execute([':b' => $usercode]);
if($orders && $orders->rowCount()){
$ordersrow = $orders->fetch(PDO::FETCH_OBJ);
$sipariskodu = $ordersrow->sipariskodu;
$kargoucreti = $ordersrow->sipariskgtl;
$shopping = $db->prepare("SELECT * FROM siparis_urunler WHERE sipkodu=:s");
$shopping->execute([':s' => $sipariskodu]);
$total = 0;
if($shopping){
foreach($shopping as $shop){
$uruntoplam = floatval($shop['sipbirim']) * intval($shop['sipadet']);
echo $shop['sipurunadi']. "-". $shop['sipbirim'] . "-" . $shop['sipadet'] . "-" . $uruntoplam ."<br>";
$total+= $uruntoplam;
}
}
}aldığınız hatanın nedeni işlem yapılan değişkenlerde numeric değer yok diyor.
yukarıdaki gibi yaparsanız null dışında hata vermez ama numeric bir değer yoksa 0 olarak alır.
mysql de double için uzunluk katmanı çiftli girilir 6,2 gibi
6 çıktı değerindeki noktanın solundaki maks karakter, 2 çıktı değerindeki noktanın sağındaki maks karakter