Şimdi Ara

Php mysqli kapama yardim

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
571
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar web sitemde mysqli bağlantısı kullanıyorum. Bazen bağlantıyı kapatmayı unuttugumda oluyor. Sayfanın footerine bunu eklemek istiyorum fakat mysqli connect kullanmadığım sayfalarda mysqli_close kullaninca bağlantı zaten yok gibi bir hata alıyorum.

    Basit bir if komutu ile bağlantı açık mi kontrol edemiyormuyum

    < Bu ileti mobil sürüm kullanılarak atıldı >



  • Sayfa sonu geldiğinde PHP zaten veritabanı bağlantısını (kalıcı değilse) otomatik kapatır. PHP 4'ten beri bu böyle.
  • P connect ile baglanmiyorum ama genede gecenlerde too many connection hatasi loglamis 2 sayafada close yapmamisim yapinca düzeldi. Ben şöyle bi footer yani sayfa bitimi yapmayi planliyorum.

    if ile bağlantı kontrolü, true ise baglantiyi close la

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • if (!mysqli_connect_errno()) {

    mysqli_close($bagla);

    exit();

    }

    Komutunu denedim ama gene de hata alıyorum.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Normalde böyle birşeye gerek kalmaması lazım. Sayfanın en başında veritabanı bağlantısı yapılır, veritabanı işlemleri yapılır ve bağlantı kapatılır. Sayfanın geri kalanında yeniden veritabanı bağlantısı açılmaz, açılmaması lazım.

    Yine de sorduğun soruya karşılık şöyle cevap verebilirim. Eğer ".htaccess" dosyası kullanıyorsan aşağıdaki satırı bu dosyaya gir:

    php_value auto_append_file "/includes/sayfa_sonu.php"


    "sayfa_sonu.php" dosyası senin bütün php sayfalarının sonunda otomatik olarak çalıştırılacak. İşte bu dosya içerisinde if-else ile veritabanı bağlantı kontrolü yapabilirsin. Diyelimki sayfa ilk açıldığında veritabanı bağlantısını mysql_connect() ile yapıp sonucu da $link isimli bir değişkene atadın. O zaman "sayfa_sonu.php" dosaysına şunları yazman yeterli olacaktır:

     
    <?php
    if (is_resource($link)) {
    mysql_close($link);
    }




  • quote:

    Orijinalden alıntı: snoppy

    Normalde böyle birşeye gerek kalmaması lazım. Sayfanın en başında veritabanı bağlantısı yapılır, veritabanı işlemleri yapılır ve bağlantı kapatılır. Sayfanın geri kalanında yeniden veritabanı bağlantısı açılmaz, açılmaması lazım.

    Yine de sorduğun soruya karşılık şöyle cevap verebilirim. Eğer ".htaccess" dosyası kullanıyorsan aşağıdaki satırı bu dosyaya gir:

    php_value auto_append_file "/includes/sayfa_sonu.php"


    "sayfa_sonu.php" dosyası senin bütün php sayfalarının sonunda otomatik olarak çalıştırılacak. İşte bu dosya içerisinde if-else ile veritabanı bağlantı kontrolü yapabilirsin. Diyelimki sayfa ilk açıldığında veritabanı bağlantısını mysql_connect() ile yapıp sonucu da $link isimli bir değişkene atadın. O zaman "sayfa_sonu.php" dosaysına şunları yazman yeterli olacaktır:

     
    <?php
    if (is_resource($link)) {
    mysql_close($link);
    }
    Çok teşekkürler. Bağlantıyı kontrol etmeye çalışmak yerine değişken boş bu değil mi diye bakmak en mantıklısı. Hiç aklıma gelmemiş. işte akıl akıldan üstündür bu oluyor çok teşekkürler. gerçi o zaman ben o olayı farklı bir şey ile çözmüştüm ama nasıl çözmüştüm hatırlayamadım çok uzun zaman oldu. yinede çok teşekkürler yeni bir bakış açısı sahibi olmuş oldum...




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.