• 03-02-2017, 15:58:34
    #1
    Merhabalar,

    Normal olarak tek döngüde pdo ile insert yaptım ama nedense hep iki tane ekliyor Çözümü nedir?

                    <?php
        
        if($_POST){
            
            
            $konu_baslik = $_POST["konu_baslik"];
            $konu_kategori = $_POST["kategori"];
            $konu_aciklama = $_POST["konu_aciklama"];
            $konu_resim = $_POST["konu_resim"];
            
            if(!$konu_baslik){
                
                
                echo "<div class='alert alert-warning' role='alert'>Yazı Başlığı Boş Bırakılamaz</div>";
                
            }else {
                
                
                $ekle = $db->query("insert into konu set konu_baslik= '$konu_baslik', konu_aciklama= '$konu_aciklama', konu_resim= '$konu_resim', konu_kategori= '$konu_kategori' ", PDO::FETCH_ASSOC);
                $ekleme = $ekle->execute ([$konu_baslik, $konu_kategori, $konu_aciklama, $konu_resim]);
                if($ekleme == true){
                    
                    echo "<div class='alert alert-success' role='alert'>Yazı başarıyla eklenmiştir.</div>";
                    
                }
            
            }
            }
        
    ?>
  • 03-02-2017, 23:57:12
    #2
    sql cümleciğini aşağıdaki gibi kullanın.
    "insert into konu set konu_baslik= ?, konu_aciklama= ?, konu_resim= ?, konu_kategori= ? "
    Sizin kullandığınız mantıkta execute içinde dizi göndermeniz çözüm değil, veriler sanitize edilmiyor.
  • 04-02-2017, 00:05:29
    #3
    $db->query ile zaten verinizi ekliyorsunuz daha sonra ekle değişkenine atamış olduğunuz veriyi tekrar execute edip veritabanınıza kaydediyorsunuz

    $db->query yerine $db->prepare kullanın sql cümlesini ise sehzadem arkadaşımız yazdığı şekilde kullanın
  • 04-02-2017, 12:00:06
    #4
    sehzadem adlı üyeden alıntı: mesajı görüntüle
    sql cümleciğini aşağıdaki gibi kullanın.
    "insert into konu set konu_baslik= ?, konu_aciklama= ?, konu_resim= ?, konu_kategori= ? "
    Sizin kullandığınız mantıkta execute içinde dizi göndermeniz çözüm değil, veriler sanitize edilmiyor.
    admozmrmr adlı üyeden alıntı: mesajı görüntüle
    $db->query ile zaten verinizi ekliyorsunuz daha sonra ekle değişkenine atamış olduğunuz veriyi tekrar execute edip veritabanınıza kaydediyorsunuz

    $db->query yerine $db->prepare kullanın sql cümlesini ise sehzadem arkadaşımız yazdığı şekilde kullanın
    Teşekkür ederim. Hata çözülmüştür. Moderatörler konuyu kitleyebilir.