• 06-10-2018, 01:43:14
    #1
    merhabalar veritabanına bilgi eklerken resim eklemede sıkıntı yaşıyorum. ekliyeceğim resmin isminin eklediğim konunun id si olmasını istiyorum acaba nasıl yapabilirim ? hep eklediğimde 0 çıkıyor.

    
    <?php 
    
    if ($_POST) { 
    
    
        $baslik = $_POST['baslik']; 
        $icerik = $_POST['icerik'];
    	$url = $_POST['url'];
    	
    	
    
        if ($baslik<>"" && $icerik<>"") { 
    
            $lastid = mysql_insert_id();
    		$konum="resim/".$lastid.'.jpg';//resim kayıt edileceği yer.
    
    			touch($konum);//belirlediğimiz yerde dosyayı oluştur.
    
    			$al=file_get_contents($url);//belirlediğimiz resimin kaynağını al
    
    			$kaydet=file_put_contents($konum,$al);//oluşturduğumuz dosyanın içine yaz
     
            if ($baglanti->query("INSERT INTO videolar (ad, flv) VALUES ('$baslik','$icerik')")) 
            {
                echo "Veri Eklendi"; 
            }
            else
            {
                echo "Hata oluştu";
            }
    
        }
    	
    
    		 }
    		
    	
    ?>
  • 06-10-2018, 01:52:35
    #2
    b81
    Üyeliği durduruldu
    Önce insert işlemini yaptıracaksınız ondan sonra last id alacaksınız
  • 06-10-2018, 02:21:14
    #3
    b81 adlı üyeden alıntı: mesajı görüntüle
    Önce insert işlemini yaptıracaksınız ondan sonra last id alacaksınız
    nasıl yani tam olarak ?
  • 06-10-2018, 02:24:55
    #4
    b81
    Üyeliği durduruldu
    <?php  
    
    if ($_POST) {  
    
    
        $baslik = $_POST['baslik'];  
        $icerik = $_POST['icerik'];
        $url = $_POST['url'];
        
        
    
        if ($baslik<>"" && $icerik<>"") {  
    
          
      
            if ($baglanti->query("INSERT INTO videolar (ad, flv) VALUES ('$baslik','$icerik')"))  
            {
                echo "Veri Eklendi";  
          $lastid = mysql_insert_id();
            $konum="resim/".$lastid.'.jpg';//resim kayıt edileceği yer.
    
                touch($konum);//belirlediğimiz yerde dosyayı oluştur.
    
                $al=file_get_contents($url);//belirlediğimiz resimin kaynağını al
    
                $kaydet=file_put_contents($konum,$al);//oluşturduğumuz dosyanın içine yaz
            }
            else
            {
                echo "Hata oluştu";
            }
    
        }
        
    
             }
            
        
    ?>
  • 06-10-2018, 02:43:40
    #5
    b81 adlı üyeden alıntı: mesajı görüntüle
    Önce insert işlemini yaptıracaksınız ondan sonra last id alacaksınız
    b81 adlı üyeden alıntı: mesajı görüntüle
    <?php  
    
    if ($_POST) {  
    
    
        $baslik = $_POST['baslik'];  
        $icerik = $_POST['icerik'];
        $url = $_POST['url'];
        
        
    
        if ($baslik<>"" && $icerik<>"") {  
    
          
      
            if ($baglanti->query("INSERT INTO videolar (ad, flv) VALUES ('$baslik','$icerik')"))  
            {
                echo "Veri Eklendi";  
          $lastid = mysql_insert_id();
            $konum="resim/".$lastid.'.jpg';//resim kayıt edileceği yer.
    
                touch($konum);//belirlediğimiz yerde dosyayı oluştur.
    
                $al=file_get_contents($url);//belirlediğimiz resimin kaynağını al
    
                $kaydet=file_put_contents($konum,$al);//oluşturduğumuz dosyanın içine yaz
            }
            else
            {
                echo "Hata oluştu";
            }
    
        }
        
    
             }
            
        
    ?>

    dediğiniz gibi yaptığımda olmuyor gine 0.jpg diye kaydediyor
  • 06-10-2018, 02:46:11
    #6
    kod hatali pdo yapisinda calistirdigin sorguyu mysql_' li fonksiyonla cekmeye calisiyorsun insert isleminden sonra $baglanti->last_insert_id() fonksiyonu ile cekebilirsin
  • 06-10-2018, 03:25:20
    #7
    PDO olduğu kanaatine varmak zor herhangi biri olabilir. mysql olduğunu bilmediğimiz de bir gerçek tabi. Kullandığınız sınıfta mutlaka last inserted_id methodu vardır, açıp dosyadan bakabilirsiniz.

    Çok doğru bir yöntem olmasada aşağıdaki gibi bir sorgu daha yapabilirsiniz.

    @b81 arkdaşımızın düzenlediği kod üzerinde çalışır. Sizinkinde $last_id += 1 sonucu bir arttırmanız lazım. vs.vs.
    $last_id = $baglanti->query("select id from videolar order by id desc limit 1");
  • 06-10-2018, 12:37:49
    #8
    sorunun çözümü
    :
    
    
    
    
    $sorgu = $baglanti->query("SELECT * FROM videolar order by id desc limit 1"); // Makale tablosundaki tüm verileri çekiyoruz.
    
    while ($sonuc = $sorgu->fetch_assoc()) { 
    
    $id = $sonuc['id'];