v2.5.2
Giriş yap

BasicDB ile veri güncelleme hatası

igoodubad2
1,172 defa görüntülendi

Merhaba arkadaşlar, Taafun Beyin BasicDB sınıfını kullanıyorum.
Basit bir işlemile formdan gelen değeri tablodaki eşleşen değerden çıkarmak amacındayım :) (yeni başladığım içi pek bi özürlüyüm) google deir yığın arama denem sonucu en iyissinin buradan sormak olduğuna kara verdim.
Kodum Şu şekilde;
<?php
require 'BasicDB.php';
$db = new BasicDB('localhost', 'degerler', 'root', '');

if (isset($_POST['kaydet'])) {
$kategori = $_POST['kategori'];
$stok = $_POST['stok'];

$sor = $db->from('kategori')

        ->where('ad', $kategori)
        ->all();
        $deger = 0;
        foreach($sor as $value){ $deger += $value['stok']; };
        $yenistok = $deger - $stok;

$dus = $db->update('urunler')

      ->where('stok')
        ->set([
             'stok' => $yenistok
        ]);

};

if ($dus) {
header('Location:/klorofil/?sayfa=stokdus#ok');
};
?>

şöyle iki hata aldım nasıl çözebilirim?

Warning: Invalid argument supplied for foreach() in /opt/lampp/htdocs/klorofil/sayfalar/stokdus.php on line 14
basicdb Hatası:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

Cevap yaz
Cevaplar (3)
igoodubad2
1611 gün önce

Orada küçük bir hata yapmışım 'ad' değerini stok ile değiştirmem gerekliymiş o yüzden acayip bir karmaşa yaşadım yığınla değişiklik yaptım daha sonra çözüme kavuşturdum teşekkürler.

samkofte
1612 gün önce
$yenistok = $deger - $stok;

Yazdırğın da çıktısı ne oluyor düzgün bir şekil de geliyor mu?

igoodubad2
1612 gün önce

Neyse İlkini küçücük bir isim hatasıymış çözdüm ancak ikincisi
basicdb Hatası:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
hala çözebilmiş değilim yardımlarınızı bekliyorum teşekkürler.