• 05-06-2021, 23:01:50
    #1
    Aşağıdaki gibi bir sorgum var, get ile urlden değer alarak sorgu yapıyorum.

    Yazım şekli doğru mu?


        $get_kategori = $_GET['kategori'];
        $sorgu = $db->prepare("SELECT * FROM yazilar where kategori = ?");
        $veri->execute([$get_kategori]);
        $veri = $veri->fetch(PDO::FETCH_ASSOC);
  • 05-06-2021, 23:10:55
    #2
    $get_kategori = $_GET['kategori'];
    $sorgu = $db->prepare("SELECT * FROM yazilar where kategori = ?");
    $sorgu->execute([$get_kategori]);
    $veri = $sorgu->fetch(PDO::FETCH_ASSOC);
    Olması gereken bu şekilde.
  • 05-06-2021, 23:11:06
    #3
    buddy adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki gibi bir sorgum var, get ile urlden değer alarak sorgu yapıyorum.

    Yazım şekli doğru mu?


        $get_kategori = $_GET['kategori'];
        $sorgu = $db->prepare("SELECT * FROM yazilar where kategori = ?");
        $veri->execute([$get_kategori]);
        $veri = $veri->fetch(PDO::FETCH_ASSOC);
    Bunu deneyin hocam

    $get_kategori = $_GET['kategori'];
    $sorgu=$db->prepare("SELECT * FROM yazilar WHERE kategori = :kategori");
    $sorgu ->execute(array('kategori' => $get_kategori ));
    $cikti = $sorgu->fetch(PDO::FETCH_ASSOC);
  • 05-06-2021, 23:13:07
    #4
    $veri->execute kısmı $sorgu->execute olmalı.

    $veri = $veri->fetch ise $veri = $sorgu->fetch olmalı.
  • 05-06-2021, 23:16:45
    #5
    $kategorigetir = $db->query("SELECT * FROM yazilar WHERE kategori='$get_kategori'")->fetch(PDO::FETCH_ASSOC);
    echo $kategorigetir;
  • 05-06-2021, 23:20:29
    #6
    peki bu şekilde düzeltirsem oluyor mu?

    $get_kategori = $_GET['kategori'];
    $veri= $db->prepare("SELECT * FROM yazilar where kategori = ?");
    $veri->execute([$get_kategori]);
    $veri = $veri->fetch(PDO::FETCH_ASSOC);

    voLwy adlı üyeden alıntı: mesajı görüntüle
    $get_kategori = $_GET['kategori'];
    $sorgu = $db->prepare("SELECT * FROM yazilar where kategori = ?");
    $sorgu->execute([$get_kategori]);
    $veri = $sorgu->fetch(PDO::FETCH_ASSOC);
    Olması gereken bu şekilde.
    ozanx07 adlı üyeden alıntı: mesajı görüntüle
    Bunu deneyin hocam

    $get_kategori = $_GET['kategori'];
    $sorgu=$db->prepare("SELECT * FROM yazilar WHERE kategori = :kategori");
    $sorgu ->execute(array('kategori' => $get_kategori ));
    $cikti = $sorgu->fetch(PDO::FETCH_ASSOC);
    hyPerdarKness adlı üyeden alıntı: mesajı görüntüle
    $veri->execute kısmı $sorgu->execute olmalı.

    $veri = $veri->fetch ise $veri = $sorgu->fetch olmalı.
  • 05-06-2021, 23:23:54
    #7
    buddy adlı üyeden alıntı: mesajı görüntüle
    peki bu şekilde düzeltirsem oluyor mu?

    $get_kategori = $_GET['kategori'];
    $veri= $db->prepare("SELECT * FROM yazilar where kategori = ?");
    $veri->execute([$get_kategori]);
    $veri = $veri->fetch(PDO::FETCH_ASSOC);
    Olur. Testini yapmıyor musunuz hocam?
  • 05-06-2021, 23:25:10
    #8
    voLwy adlı üyeden alıntı: mesajı görüntüle
    Olur. Testini yapmıyor musunuz hocam?
    Yapıyorum çalışıyor hocam ama güvenlik problemi çıkarmayacak şekilde hatasız yazmak için soruyorum. prapare metodunu yeni kullanmaya başladım da
  • 10-06-2021, 22:47:22
    #9
    Biraz daha güvenlik açısından bind methodunuda kullanabilirsiniz.
    $get_kategori = $_GET['kategori'];
    $maximum_str_uzunlugu = 64; #db'deki tablonun kolon uzunluğunu yazabilirsiniz
    $sorgu = $db->prepare("SELECT * FROM yazilar where kategori = :kategori");
    $sorgu->bindParam(':kategori', $get_kategori, PDO::PARAM_STR, $maximum_str_uzunlugu);
    $sorgu->execute();
    $veri = $sorgu->fetch(PDO::FETCH_ASSOC);