• 19-12-2023, 11:12:44
    #1
    Merhaba,

    mysql_close(); Kullanımı Nasıl olmalı?

    Sorum şuki bir sayfa içinde kullandığımız bağlantı neredeyse sayfanın foother kısmına kadar kullanılıyor bunun için en aşağıyamı kapatmamız gerekiyor kodu acaba?

    Mantıklı kullanım ne şekilde olmalı.

    Mantıklı olan Kullanım Şekli.

    Sorguyu yaptıktan sonra PHP Pdo için Söylüyorum

    <?php
    try {
        $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    } catch (PDOException $e) {
    // Zaman aşımını bekledikten sonra yediden bağlanmaya çalış
    }
    ?>
    $sth = $dbh->query('SELECT * FROM foo');
    
    
    Yukarıda Sorguyu yaptık
    
    Altta Sorguyu Kapatıyoruz.
    $sth = null; 
    
    
    Sayfanın En Altına Geldiğimizde db bağlantısını kesiyoruz doğr kullanım bu şekilde olmalı değilmi?
    
    $dbh = null;
  • 19-12-2023, 12:00:08
    #2
    <?php
    try {
        $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
        // Sorguyu yap
        $sth = $dbh->query('SELECT * FROM foo');
    
        // Diğer işlemleri gerçekleştir...
    
    } catch (PDOException $e) {
        // Hata durumuyla başa çık
        echo "Bağlantı hatası: " . $e->getMessage();
    } finally {
        // Bağlantıyı kapat
        $dbh = null;
    }
    ?>
    Bu örnekte, finally bloğu içinde $dbh = null; ifadesi kullanılarak bağlantı güvenli bir şekilde kapatılır. finally bloğu, try bloğundaki işlemler tamamlandıktan sonra her durumda çalışır, hata olup olmadığına bakılmaksızın. Bu, bağlantının her zaman güvenli bir şekilde kapatılmasını sağlar.
    Ayrıca, bu kodun sadece bir örnek olduğunu ve gerçek uygulama senaryonuza göre düzenlenmesi gerektiğini unutmayın.

    ChatGPT
  • 19-12-2023, 15:07:04
    #3
    Burada kapatıyorsunya alt satırda dbh connect olabilirmiyim?

    ntka adlı üyeden alıntı: mesajı görüntüle
    <?php
    try {
        $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
        // Sorguyu yap
        $sth = $dbh->query('SELECT * FROM foo');
    
        // Diğer işlemleri gerçekleştir...
    
    } catch (PDOException $e) {
        // Hata durumuyla başa çık
        echo "Bağlantı hatası: " . $e->getMessage();
    } finally {
        // Bağlantıyı kapat
        $dbh = null;
    }
    ?>
    Bu örnekte, finally bloğu içinde $dbh = null; ifadesi kullanılarak bağlantı güvenli bir şekilde kapatılır. finally bloğu, try bloğundaki işlemler tamamlandıktan sonra her durumda çalışır, hata olup olmadığına bakılmaksızın. Bu, bağlantının her zaman güvenli bir şekilde kapatılmasını sağlar.
    Ayrıca, bu kodun sadece bir örnek olduğunu ve gerçek uygulama senaryonuza göre düzenlenmesi gerektiğini unutmayın.

    ChatGPT
  • 19-12-2023, 15:10:03
    #4
    dbh connect Alamazsınız. Aynı şekilde
    try {
    ile yeni açabilirsiniz.
  • 19-12-2023, 15:15:45
    #5
    her sorguda db connectmi olmam lazım bunun için?

    ntka adlı üyeden alıntı: mesajı görüntüle
    dbh connect Alamazsınız. Aynı şekilde
    try {
    ile yeni açabilirsiniz.
  • 19-12-2023, 15:17:10
    #6
    Tüm işlemlerinizi yapın ondan sonra kapatın sql yi.
    şurayı en sona ekleyin.
    catch (PDOException $e) {
        // Hata durumuyla başa çık
        echo "Bağlantı hatası: " . $e->getMessage();
    } finally {
        // Bağlantıyı kapat
        $dbh = null;
    }
  • 19-12-2023, 15:29:22
    #7
    Öncelikle Teşekkür ederim cevapladığın için ama anlamadığım olay şu tam olarak.

    bağlan.php oluşturdum.

    içerisinde nasıl bir bağlantı oluşturup sonra bunu sayfalara include edip her sayfada aşağıdaki gibi bir bağlantı sağlayacağım.








    ntka adlı üyeden alıntı: mesajı görüntüle
    Tüm işlemlerinizi yapın ondan sonra kapatın sql yi.
    şurayı en sona ekleyin.
    catch (PDOException $e) {
        // Hata durumuyla başa çık
        echo "Bağlantı hatası: " . $e->getMessage();
    } finally {
        // Bağlantıyı kapat
        $dbh = null;
    }
  • 19-12-2023, 15:38:36
    #8
    bağlan.php de kapatma yapmayacaksınız.
    footer.php yapıp en altına kapatma kodunu ekleyeceksiniz.

    header.php ye baglan.php yi include edip her yerde çalışmasını sağlayacaksınız bağlantının sonra ana kodlarınızı istediğiniz gibi yazın.

    site ana dosyaları:
    header.php.
    index.php
    footer.php
    bu 3 dosya site ana gövdesini oluşturur.

    baglan.php içeriği

    <?php
    // Veritabanı bağlantı bilgileri
    $host = 'localhost';
    $dbname = 'test';
    $username = 'kullanici_adi';
    $password = 'sifre';
    
    try {
        // PDO bağlantısını oluştur
        $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
    
        // Hata modunu ayarla (isteğe bağlı)
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
        // Diğer işlemleri gerçekleştir...
    
    } catch (PDOException $e) {
        // Hata durumuyla başa çık
        echo "Bağlantı hatası: " . $e->getMessage();
    }
    ?>
    // PDO bağlantısını kapat (isteğe bağlı)
    $pdo = null;

    PHP de bağlantı kapatmaya gerek yok açık olsa da olur kendi otomatik kapatıyor artık.
    eskiden di bağlantı kapatma ama isterseniz kullanabilirsiniz.
  • 19-12-2023, 15:41:48
    #9
    anladım peki site bazen max_user_connections hatası veriyor bunun sebebi bu değilmi bağlantıları kapatmadığımız için ?

    ntka adlı üyeden alıntı: mesajı görüntüle
    bağlan.php de kapatma yapmayacaksınız.
    footer.php yapıp en altına kapatma kodunu ekleyeceksiniz.

    header.php ye baglan.php yi include edip her yerde çalışmasını sağlayacaksınız bağlantının sonra ana kodlarınızı istediğiniz gibi yazın.

    site ana dosyaları:
    header.php.
    index.php
    footer.php
    bu 3 dosya site ana gövdesini oluşturur.

    baglan.php içeriği

    // Veritabanı bağlantı bilgileri $host = 'localhost'; $dbname = 'test'; $username = 'kullanici_adi'; $password = 'sifre';
    try
    {    // PDO bağlantısını oluştur    
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);     // Hata modunu ayarla (isteğe bağlı)    
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);     // Diğer işlemleri gerçekleştir... }
    catch (PDOException $e) {    // Hata durumuyla başa çık    
    echo "Bağlantı hatası: " . $e->getMessage();
    }
    // PDO bağlantısını kapat (isteğe bağlı)
    $pdo = null;

    PHP de bağlantı kapatmaya gerek yok açık olsa da olur kendi otomatik kapatıyor artık.
    eskiden di bağlantı kapatma ama isterseniz kullanabilirsiniz.