• 22-02-2020, 15:22:40
    #1
    PDO ile veri çekerken, istediğim veriyi çekiyorum ama, error_log dosyasına her sayfa yenilemede, aşağıdaki kodu atıyor..

    PHP Fatal error: Call to a member function fetch() on boolean in /home/site2/public_html/themes/ozgun/header.php on line 3

    Satır 3:

    $postidi = get_the_ID();
    $veri = $db->query("SELECT * FROM posts WHERE ID = $postidi")->fetch(PDO::FETCH_ASSOC);

    Hatayı nerede yapıyor olabilirim?
  • 22-02-2020, 15:29:01
    #2
    Üyeliği durduruldu
    $postidi de olabilir.
  • 22-02-2020, 15:33:12
    #3
    otukenwebtr adlı üyeden alıntı: mesajı görüntüle
    $postidi de olabilir.
    hocam dediğim gibi kod çalışıyor işlem yapıyor ama dikkatimi çekti, error_log dosyasına hata yazdırıyor. Sitede sorun görünmüyor. postidi değişkenenine göre işlem yapıyor..
  • 22-02-2020, 15:42:11
    #4
    Üyeliği durduruldu
    buddy adlı üyeden alıntı: mesajı görüntüle
    hocam dediğim gibi kod çalışıyor işlem yapıyor ama dikkatimi çekti, error_log dosyasına hata yazdırıyor. Sitede sorun görünmüyor. postidi değişkenenine göre işlem yapıyor..
    <?php
    // Turn off error reporting
    error_reporting(0);
    
    // Report runtime errors
    error_reporting(E_ERROR | E_WARNING | E_PARSE);
    
    // Report all errors
    error_reporting(E_ALL);
    
    // Same as error_reporting(E_ALL);
    ini_set("error_reporting", E_ALL);
    
    // Report all errors except E_NOTICE
    error_reporting(E_ALL & ~E_NOTICE);
    ?>
  • 22-02-2020, 15:59:06
    #5
    PDO da query kullanıyorsanız fetch yapmanıza gerek yoktur hocam.
    Ayrıca prepare kullanmanızı tavsiye ederim. Dışardan yani kullanıcıdan veri alarak DB de sorgu çalıştırıyorsanız query kullanmak güvenlik zaafiyetine sebep olur. Prepare kullanımı ise injection a karşı arka planda güvenlik tedbiri alacaktır.

    Sonuç olarak query ile beraber fetch kullandığınız için error_log a hata kaydı düşüyor.
  • 22-02-2020, 17:40:29
    #6
    coder63 adlı üyeden alıntı: mesajı görüntüle
    PDO da query kullanıyorsanız fetch yapmanıza gerek yoktur hocam.
    Ayrıca prepare kullanmanızı tavsiye ederim. Dışardan yani kullanıcıdan veri alarak DB de sorgu çalıştırıyorsanız query kullanmak güvenlik zaafiyetine sebep olur. Prepare kullanımı ise injection a karşı arka planda güvenlik tedbiri alacaktır.

    Sonuç olarak query ile beraber fetch kullandığınız için error_log a hata kaydı düşüyor.

    Çok teşekkür ederim halloldu.