• 20-02-2019, 13:26:25
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar,
    Php de hazırladığım function'da sıkıntı var. Ne yaptıysam çözemedim. Yardımcı olursanız sevinirim
    Fonksiyonum
    function link_blog($blogid){
        $query = $db->query("SELECT * FROM seo where link_id='$blogid' and grup='1'")->fetch(PDO::FETCH_ASSOC);
            $ref_link=$query['link'];
            return $ref_link;
    
    }
    Fonksiyonu ekrana yazdırma için kullandığım komut
    <?=link_blog($blog['id'])?>
    Bu şekilde çalıştırdığımda yukarıdaki kodun olduğu satırdan itibaren php duruyor. Sayfa o satırdan itibaren yüklenmiyor. Lamp üzerinde çalışıyorum. Hata çıktısı da yok. sql çalıştırmadan denedğimide sıkıntı olmuyor. Yada sql i farklı bir yerde çalıştırdığımda da sıkıntısız çalışıyor.
  • 20-02-2019, 13:38:02
    #2
    function link_blog($blogid){
        $query = $db->query("SELECT * FROM seo where link_id='".$blogid."' and grup='1'")->fetch(PDO::FETCH_ASSOC);
            $ref_link=$query['link'];
            return $ref_link;
     
    }
    bu şekilde denermisiniz
  • 20-02-2019, 13:42:00
    #3
    Furkan581907 adlı üyeden alıntı: mesajı görüntüle
    function link_blog($blogid){
        $query = $db->query("SELECT * FROM seo where link_id='".$blogid."' and grup='1'")->fetch(PDO::FETCH_ASSOC);
            $ref_link=$query['link'];
            return $ref_link;
     
    }
    bu şekilde denermisiniz
    Bu şekilde denemiştim ama tekrar denedim. Olumsuz
  • 20-02-2019, 13:46:28
    #4
    $db değişkeni lokal bir değişken, o yüzden çalışmaz. Global değişken yapmalısınız. Yani;

    function link_blog($blogid) {
        global $db;
        $query = $db->query("SELECT * FROM seo where link_id='$blogid' and grup='1'")->fetch(PDO::FETCH_ASSOC);
        $ref_link = $query['link'];
        return $ref_link;
    }
    Ayruca sorgunuzda SQL Injection açığı var. Maalesef PDO böyle kullanılmaz. Şöyle kullanmalısınız:

    function link_blog($blogid) {
        global $db;
        $sth = $db->prepare("SELECT * FROM seo where link_id=? and grup='1'");
        $sth->execute([$blogid]);
        $query = $sth->fetch(PDO::FETCH_ASSOC);
        $ref_link = $query['link'];
        return $ref_link;
    }
  • 20-02-2019, 13:49:59
    #5
    yidemir adlı üyeden alıntı: mesajı görüntüle
    $db değişkeni lokal bir değişken, o yüzden çalışmaz. Global değişken yapmalısınız. Yani;

    function link_blog($blogid) {
        global $db;
        $query = $db->query("SELECT * FROM seo where link_id='$blogid' and grup='1'")->fetch(PDO::FETCH_ASSOC);
        $ref_link = $query['link'];
        return $ref_link;
    }
    Ayruca sorgunuzda SQL Injection açığı var. Maalesef PDO böyle kullanılmaz. Şöyle kullanmalısınız:

    function link_blog($blogid) {
        global $db;
        $sth = $db->prepare("SELECT * FROM seo where link_id=? and grup='1'");
        $sth->execute([$blogid]);
        $query = $sth->fetch(PDO::FETCH_ASSOC);
        $ref_link = $query['link'];
        return $ref_link;
    }
    Teşekkür ederim, çalıştı sorunsuz şekilde