v2.5.2
Giriş yap

PHP: Call to a member function execute() Hatası! (çözüldü)

black
2,656 defa görüntülendi

Arkadaşlar basit bir içerik ekleme sistemi yazdım içerikleri ekliyorum sorunsuz çalışıyor fakat 3 yada 4. içeriği eklerken aşağıdaki hatayı veriyor nerede yanlışlık yapıyorum ?

Fatal error: Uncaught Error: Call to a member function execute() on bool in C:xampphtdocsprojectadminsettingsislem.php:218 Stack trace: #0 {main} thrown in C:xampphtdocsprojectadminsettingsislem.php on line 218

https://i.hizliresim.com/7Wcpf8.png

if(isset($_POST['content_add'])){ 
//$uploads_dir="../../assets/uploads/content";
$mysql_add_content=$conn->prepare("insert into content(c_title,c_title_en,c_description,c_description_en,c_date)values(

    '".$_POST["c_title"]."',
    '".$_POST["c_title_en"]."',
    '".$_POST["c_description"]."',
    '".$_POST["c_description_en"]."',
    '".$_POST["c_date"]."')");

    if($mysql_add_content->execute()){
         $last_id = $conn->insert_id;
        

            Header("Location:../slider-ekle.php?durum=ok");
            $r1=rand(20000,32000);
            $r2=rand(20000,32000);
          
            $uploaded_images = array();
            foreach($_FILES['upload_images']['name'] as $key=>$val){
            $upload_dir = "../../assets/uploads/content/";
            $upload_file = $upload_dir.$r1.$_FILES['upload_images']['name'][$key];
            $filename = $r1.$_FILES['upload_images']['name'][$key];
            if(@move_uploaded_file($_FILES['upload_images']['tmp_name'][$key],$upload_file)){
            $uploaded_images[] = $upload_file;
            $insert_sql = "INSERT INTO photos(c_id, url, upload_time)
            VALUES('$last_id', '".$filename."', '".time()."')";
            
            $run=$conn->prepare($insert_sql);

            if($run->execute()){
            Header("Location:../icerik.php?durum=ok");

            }else
            Header("Location:../icerik.php?durum=error");

            }
            }
            

        }
      

}

Cevap yaz
Cevaplar (4)
black
1494 gün önce

Arkadaşlar sorunu çözdüm <textarea> ile veri gönderirken addslashes() fonksiyonu kullanmam gerekiyormuş bazı karakterler hataya neden olduğu için error veriyor.
Teşekkür ediyorum yardımınız için

mutluol
1495 gün önce

<?php
if(isset($_POST['content_add'])){
//$uploads_dir="../../assets/uploads/content";
$query = $db->prepare("INSERT INTO content SET
c_title = ?,
c_title_en = ?,
c_description = ?,
c_description_en = ?,
c_date = ? ");
$insert = $query->execute(array(
$_POST['c_title'],
$_POST['c_title_en'],
$_POST['c_description'],
$_POST['c_description_en'],
$_POST['c_date']
));

if ( $insert ){
$last_id = $db->lastInsertId();

}
}

koşulun içini istediğin gibi doldur

aydinkeskin
1495 gün önce

if(isset($_POST["hizmetekle"]) && $_SESSION["login"]=="true"){

$h_adi = guvenlik($_POST["h_adi"]);
$h_adi_de = guvenlik($_POST["h_adi_de"]);
$h_adi_en = guvenlik($_POST["h_adi_en"]);
$icerik = guvenlik($_POST["icerik"]);
$icerik_de = guvenlik($_POST["icerik_de"]);
$icerik_en = guvenlik($_POST["icerik_en"]);
$katid = guvenlik($_POST["katid"]);
$sira = guvenlik($_POST["sira"]);
$video = guvenlik($_POST["video"]);
$durum = guvenlik($_POST["durum"]);
$h_desc = guvenlik($_POST["h_desc"]);
$h_desc_de = guvenlik($_POST["h_desc_de"]);
$h_desc_en = guvenlik($_POST["h_desc_en"]);
$h_meta = guvenlik($_POST["h_meta"]);
$h_meta_de = guvenlik($_POST["h_meta_de"]);
$h_meta_en = guvenlik($_POST["h_meta_en"]);

$resimyol = sha1(md5(date("1YmdHis")));
$uzanti = 'jpg';
$resim = resimyukle('resim',$resimyol,$boyut['hizmet_w'],$boyut['hizmet_h'],'../uploads/hizmet/',$uzanti);
if(empty($h_adi)){
	$hata = bilgi1('info','Hizmet Adını boş bırakmayınız.');
}else{
	$kontrol = pre("SELECT * FROM hizmet WHERE h_adi=?");
	$kontrol->execute([$h_adi]);
		if($kontrol->rowCount()){
			$hata = verikontrol('primary',$h_adi,'Hizmet Adı');
		}else{
			$kayit = pre("INSERT INTO hizmet SET 
								h_adi=:h_adi,h_adi_de=:h_adi_de,h_adi_en=:h_adi_en,icerik=:icerik,
								icerik_de=:icerik_de,icerik_en=:icerik_en,katid=:katid,sira=:sira,video=:video,
								durum=:durum,h_desc=:h_desc,h_desc_de=:h_desc_de,h_desc_en=:h_desc_en,
								h_meta=:h_meta,h_meta_de=:h_meta_de,h_meta_en=:h_meta_en,
								tarih=:tarih,resim=:resim");
			$kayit->execute([
						":h_adi"=>$h_adi,":h_adi_de"=>$h_adi_de,":h_adi_en"=>$h_adi_en,":icerik"=>$icerik,
						":icerik_de"=>$icerik_de,":icerik_en"=>$icerik_en,":katid"=>$katid,":sira"=>$sira,":video"=>$video,
						":durum"=>$durum,":h_desc"=>$h_desc,":h_desc_de"=>$h_desc_de,":h_desc_en"=>$h_desc_en,
						":h_meta"=>$h_meta,":h_meta_de"=>$h_meta_de,":h_meta_en"=>$h_meta_en,
						":tarih"=>$date,":resim"=>$resimyol.'.'.$uzanti]);
			if($kayit->rowCount()){
					$hata = bilgi('success','Hizmet Başarıyla Eklendi.','hizmet.html',3);
					// $hata = bilgi1('success','Resim Başarıyla Yüklendi.');
				}else{
					$hata = bilgi('danger','Hizmet Eklenirken Bir Sorun Oluştu!','hizmet.html',3);
					// $hata = bilgi1('danger','Resim Yüklenirken Bir Sorun Oluştu!');
				}
			}
		}
	}
	
	
	
	
	böyle bir örnek atayım sana 
	pre yazan yerileri $db->prepare olarak düşün bilgi bilgi1 lerde yine fonksyionlarıdan gelenler
	$resim de verotnet i fonksiyon içine alıp ayrıştığırdığım bölüm kendine kolaylık sağla.
aydinkeskin
1495 gün önce

data eklediğine eminmisin sen.
eğer data ekliyorsa 4 taneden sonra eklememsi garip
ama bana kalırsa eklememsi lazım.
bu kadar şeyi yazabiliyorsan bence basit sorunuda görüyorsundur umarım.

resim yükleme içinde veronet kullan uğraşma o kadar kodla.