public function update($table, $id, $data)
{
$values = array();
$columns = array();
foreach ($data as $column => $value) {
$values[] = $value;
$columns[] = $column;
}

$columnsAndMarks = implode("=?,", $columns) . "=?";

$this->query = $this->prepare("UPDATE " . $table . " SET " . $columnsAndMarks ." WHERE " . self::PK . "=" . $id);
if ($this->query->execute($values)) {
return $id;
}
return false;
}



Merhaba yukardaki gibi bir class üzerinden veri güncellemesi yapıyorum.

Aşağıdaki kod ile de post işlemi yapıyorum.

if ($_POST) {

$db = new Database;
$guncelle = $db->update("stok", $gid, array(
"kalip_no" => $_POST['kalip_no'],
"parca_kodu" => $_POST['parca_kodu'],
"parca_adi" => $_POST['parca_adi'],
"aylik_uretim_adet" => $_POST['aylik_uretim_adet'],
"yillik_uretim_adet" => $_POST['yillik_uretim_adet'],
"koli_ici_adet" => $_POST['koli_ici_adet'],
"stok_adet" => $_POST['stok_adet'],
"makine" => $_POST['makine'],
"goz_adet" => $_POST['goz_adet'],
"is_emri_no" => $_POST['is_emri_no'],
"fkk_no" => $_POST['fkk_no'],
)
);
var_dump($guncelle);
}else{
echo "Günceleme yapmak için aşağıdaki verileri güncelleyin";
}



Veri tabanımda $id kısmı stok_id olarak yazmakta.




Veri güncellerken hata alıyorum. stok_id kısmını veri tabanında id olarak değiştirince çözlüyor. Ama ben stok_id kalmasını istiyorum.

Aldığım hata

bool(false)

Kodlarda nasıl bir düzenleme yapmalıyım.