• 16-12-2018, 09:49:16
    #1
    Arkadaşlar php de yeniyim. Asp yi bıraktım artık ama Php sitemde sık sık sqlstate hy000 error 2002 connection refused hatası alıyorum ve Error_log dosyamda şöyle bir hata oluşuyor.
    PHP Fatal error: Call to a member function query() on null in /home/u8460190/public_html/panel/db.php on line 19

    Sorun nedir acaba?
    ilgili kod sayfam;
    <?php
    session_start();
    ob_start();
    
    try {
         $db = new PDO("mysql:host=localhost;dbname=;charset=utf8", "", "");
    } catch ( PDOException $e ){
         print $e->getMessage();
    }
    setlocale(LC_TIME, 'tr_TR');
    $tarihsaat=date("Y-m-d H:i:s");
    $buay=date("m");
    $buyil=date("Y");
    $url=$_SERVER['SCRIPT_NAME'];
    
    $ayar = $db->query("SELECT * FROM ayarlar")->fetch(PDO::FETCH_ASSOC); // 19. Satır burası
    $tema=$ayar['tema'];
    $siteurl = $ayar['siteurl'];
  • 16-12-2018, 10:12:28
    #2
    PDO nesnesi olustururken yazdigin baglanti cumlesinde ne veritabani adin ne de kullanici bilgilerin var.

    https://www.google.com/search?q=php%...utf-8&oe=utf-8

    incelemeni oneririm
  • 16-12-2018, 11:23:43
    #3
    BurakDemir adlı üyeden alıntı: mesajı görüntüle
    PDO nesnesi olustururken yazdigin baglanti cumlesinde ne veritabani adin ne de kullanici bilgilerin var.

    https://www.google.com/search?q=php%...utf-8&oe=utf-8

    incelemeni oneririm
    Onları buraya yapıştırdıktan sonra sildim
  • 17-12-2018, 10:19:26
    #4
    $sor=$db->prepare("SELECT * from ayarlar where id=:aid");
    $sor->execute(array('aid'=> 1));
    $cek=$sor->fetch(PDO::FETCH_ASSOC);


    yahyaaydin adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar php de yeniyim. Asp yi bıraktım artık ama Php sitemde sık sık sqlstate hy000 error 2002 connection refused hatası alıyorum ve Error_log dosyamda şöyle bir hata oluşuyor.
    PHP Fatal error: Call to a member function query() on null in /home/u8460190/public_html/panel/db.php on line 19

    Sorun nedir acaba?
    ilgili kod sayfam;
    <?php
    session_start();
    ob_start();
    
    try {
         $db = new PDO("mysql:host=localhost;dbname=;charset=utf8", "", "");
    } catch ( PDOException $e ){
         print $e->getMessage();
    }
    setlocale(LC_TIME, 'tr_TR');
    $tarihsaat=date("Y-m-d H:i:s");
    $buay=date("m");
    $buyil=date("Y");
    $url=$_SERVER['SCRIPT_NAME'];
    
    $ayar = $db->query("SELECT * FROM ayarlar")->fetch(PDO::FETCH_ASSOC); // 19. Satır burası
    $tema=$ayar['tema'];
    $siteurl = $ayar['siteurl'];
  • 17-12-2018, 10:32:32
    #5
    Görünürde bir problem yok, pdo objen oluşuyorsa kod çalışır. Demek ki pdo objen oluşmuyor. try catch bloğunun dışında kalan tüm kodu try bloğunun içine al. Yani yazdığın kod şuna benzesin:

    Eğer zaten bağlantı sağlayamazsa otomatik olarak kodu öldürüp catch bloğuna atacağı için hatanın ana kaynağını görürsün. Bu arada kodlara hata mesajını açmak için ek yaptım, onun da durması geliştirme sırasında önemli.
    <?php
    session_start();
    ob_start();
    ini_set('display_errors',1);
    error_reporting(E_ALL);
    setlocale(LC_TIME, 'tr_TR'); 
    
    try {
         $db = new PDO("mysql:host=localhost;dbname=;charset=utf8", "", "");
    
         $tarihsaat=date("Y-m-d H:i:s");
         $buay=date("m");
         $buyil=date("Y");
         $url=$_SERVER['SCRIPT_NAME'];
     
         $ayar = $db->query("SELECT * FROM ayarlar")->fetch(PDO::FETCH_ASSOC); // 19. Satır burası
         $tema=$ayar['tema'];
         $siteurl = $ayar['siteurl'];
    } catch ( PDOException $e ){
         print $e->getMessage();
    }
  • 17-12-2018, 11:38:39
    #6
    <?php
    session_start();
    ob_start();

    try {
    $db = new PDO("mysql:host=localhost;dbname=;charset=utf8", "", "");
    } catch ( PDOException $e ){
    print $e->getMessage();
    }
    setlocale(LC_TIME, 'tr_TR');
    $tarihsaat=date("Y-m-d H:i:s");
    $buay=date("m");
    $buyil=date("Y");
    $url=$_SERVER['SCRIPT_NAME'];

    $ayar = $db->query("SELECT * FROM ayarlar,PDO::FETCH_ASSOC") // 19. Satır burası
    $tema=$ayar['tema'];
    $siteurl = $ayar['siteurl'];

    burayıda hallet
    $db = new PDO("mysql:host=localhost;dbname=BURAYADA İÇİNDEKİ BİLGİLERİ GÖSTERMEK İSTEDİĞİN DATABESE İSMİNİ YAZICAN;charset=utf8", "", "");
  • 17-12-2018, 21:14:31
    #7
    bayGaReZ adlı üyeden alıntı: mesajı görüntüle
    Görünürde bir problem yok, pdo objen oluşuyorsa kod çalışır. Demek ki pdo objen oluşmuyor. try catch bloğunun dışında kalan tüm kodu try bloğunun içine al. Yani yazdığın kod şuna benzesin:

    Eğer zaten bağlantı sağlayamazsa otomatik olarak kodu öldürüp catch bloğuna atacağı için hatanın ana kaynağını görürsün. Bu arada kodlara hata mesajını açmak için ek yaptım, onun da durması geliştirme sırasında önemli.
    <?php
    session_start();
    ob_start();
    ini_set('display_errors',1);
    error_reporting(E_ALL);
    setlocale(LC_TIME, 'tr_TR');
    
    try {
         $db = new PDO("mysql:host=localhost;dbname=;charset=utf8", "", "");
    
         $tarihsaat=date("Y-m-d H:i:s");
         $buay=date("m");
         $buyil=date("Y");
         $url=$_SERVER['SCRIPT_NAME'];
     
         $ayar = $db->query("SELECT * FROM ayarlar")->fetch(PDO::FETCH_ASSOC); // 19. Satır burası
         $tema=$ayar['tema'];
         $siteurl = $ayar['siteurl'];
    } catch ( PDOException $e ){
         print $e->getMessage();
    }
    Hemen deniyorum kardeş, teşekkürler ilgin için.