• 05-06-2020, 21:08:57
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Herkese selam. Konu başlığı biraz abes duruyor, farkındayım ancak garip bir problem var. Yazdığım admin panelde delete fonksiyonunu id'den çağırdığım bir içerik için uygulamak istiyorum ancak tablodaki tüm verileri siliyor. Benim tahminime göre formu aynı sayfada post ettiğim için sürekli döngüye alıyor ve tüm id'leri siliyor, ancak ne denediysem çözemedim. Kullandığım kodlar şu şekilde;

    public
    function delete($table, $columns, $values, $fileName = null)
    {
    try {
    if (!empty($fileName)) {
    unlink("dimg/$table/" . $fileName);
    }
    $stmt = $this->db->prepare("DELETE FROM $table WHERE $columns");
    $stmt->execute([
    htmlspecialchars($values)
    ]);
    return ['status' => TRUE];
    
    } catch (Exception $e) {
    return ['status' => FALSE, 'error' => $e->getMessage()];
    
    }
    
    
    }
    Formda kullandığım kod ise;

     if (isset($_GET['articleDelete'])) {
    $result = $db->delete("article", 'article_id', $_GET['article_id'], $_GET['file_delete']);
    if ($result['status']) { ?>
    <div class="alert alert-success">
    Silme işlemi başarıyla gerçekleşti.
    </div>
    <?php } else { ?>
    <div class="alert alert-danger">
    İçerik silinirken bir hata oluştu.
    </div>
    <?php }
    } ?>
  • 05-06-2020, 21:12:19
    #2
    Where kısmında idyebakantablo = $columns
    Demeniz gerek.
  • 05-06-2020, 21:44:44
    #3
    Kesshh adlı üyeden alıntı: mesajı görüntüle
    Where kısmında idyebakantablo = $columns
    Demeniz gerek.
    Kusura bakmayın hocam, net anlayamadım.'article_id'= $_GET['article_id']şeklinde mi düzenlemem gerekiyor? idyebakantabloda belirttiğiniz veri nedir
  • 05-06-2020, 22:00:32
    #4

    $this->db->prepare("DELETE FROM $table WHERE $columns");

    Bu kısımda sorguda hata var. Where den sonra
    article tablosunda id alanı = $columns"

    Değiştirmeniz gerek. Sizin yazdığınız sorguya göre hangi id numarasının silineceği belli değil.