PHP: Call to a member function execute() Hatası! (çözüldü)
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");
}
}
}
}
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
<?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
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.
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.