Hocam PARAM_STR kullanırken gelen verinin str olması gerekiyor yada PARAM_INT kullanmalısınız..Eğer id gelecek ise tırnak içerisine almalısınız ki str gibi görünsün. 1 değerini tırnak içerisine alın.
Kullanımları id =:id şeklinde yaparsanız hangi alanı alacağını bilir komutlar.Ayrıca idyi seç demişsiniz hem 1 değerini vermişsiniz bu yanlış olmuş.Ben kodunuzu düzelttim sanırım böyle yapacaktınız.
$aracid=$_POST["aracid"];
if($_FILES["dosya"]["name"]==""):
echo '<div class="alert alert-danger text-center"> Dosya yüklenmedi Dosya Boş Olamaz</div>';
else:
if($_FILES["dosya"]["size"]>(1024*1024*5)):
echo '<div class="alert alert-danger text-center"> 5mb dan Büyük Olamaz</div>';
else:
$izinverilenler=array("image/png","image/jpeg");
if(!in_array($_FILES["dosya"]["type"],$izinverilenler)):
echo '<div class="alert alert-danger text-center"> Sadece jpg ve png ye izin var</div>';
else:
$isim=$_FILES["dosya"]["name"];
$uzanti=explode(".",$isim);
$uzanti=$uzanti[count($uzanti)-1];
$zaman= date("d.m.Y");
$dosyayolu='../assets/images/'.$_FILES["dosya"]["name"].$zaman.".".$uzanti;
$sonkim=$this->sorgum($db,"select * from arac where id=$aracid",1);
unlink('../'.$sonkim["resim"]);
move_uploaded_file($_FILES["dosya"]["tmp_name"],$dosyayolu);
$dosyayolu2='assets/images/'.$_FILES["dosya"]["name"].$zaman.".".$uzanti;
$sonki=$db->prepare("update arac set resim=:resim where id=:id");
$sonki->bindParam(':resim',$dosyayolu2,PDO::PARAM_STR);
$sonki->bindParam(':id',$aracid,PDO::PARAM_INT);
$sonki->execute();
echo '<div class="alert alert-success text-center"> Dosya Başarı İle Güncellendi</div>';
header("Refresh:1; url=control.php?islem=guncelresim");
endif;
endif;
endif;
öncelikle zaman ayırdığınız için teşekkür ederim fakat hocam kodlar calısıyor guncelleme silme ekleme yapıyor kodda sorun yok ama yinede yazım hatası alıorum sizin verdiğiniz koddada aynı hata var