• 04-09-2009, 11:40:07
    #1
    Mesajlar tablosunda yorum sütünunda o mesaja ait yorum sayısı kayıtlı. Bu yorum sayısını çekmek için aşağıdaki kodu kullanıyorum, işimi görüyor ancak bu kullanım doğru mu onu öğrenmek isityorum.

    $sorgu=mysql_query("SELECT * FROM mesajlar WHERE m_id='$m_id'");
    while ($veri=mysql_fetch_array($sorgu)){
    	echo $veri['yorum'];
    }
    Bir de sorgu yaptıktan sonra db bağlantısını kapatmak mı gerekiyo o konuda bilgi verirseniz sevinirim.
  • 04-09-2009, 11:43:22
    #2
    Üyeliği durduruldu
    herhangi bir problem yok sorgunuzda. ama ekstradan result set ile işiniz bitti ise

    Alıntı
    mysql_free_result($sorgu);
    demenizde fayda var sadece
  • 04-09-2009, 11:44:49
    #3
    uni adlı üyeden alıntı: mesajı görüntüle
    Mesajlar tablosunda yorum sütünunda o mesaja ait yorum sayısı kayıtlı. Bu yorum sayısını çekmek için aşağıdaki kodu kullanıyorum, işimi görüyor ancak bu kullanım doğru mu onu öğrenmek isityorum.

    $sorgu=mysql_query("SELECT * FROM mesajlar WHERE m_id='$m_id'");
    while ($veri=mysql_fetch_array($sorgu)){
        echo $veri['yorum'];
    }
    Bir de sorgu yaptıktan sonra db bağlantısını kapatmak mı gerekiyo o konuda bilgi verirseniz sevinirim.

    $sorgu=mysql_query("SELECT `yorum` FROM mesajlar WHERE m_id='$m_id'");
    $veri=mysql_fetch_array($sorgu);
    echo $veri['yorum'];
    SELECT * yazmana gerek yok sadece `yorum` kısmı işine yarıyor.
    while çekmene de gerek yok çünkü o m_id den 1 tane vardır.
  • 04-09-2009, 11:52:18
    #4
    @darbetim söylediğin şekilde çekmek için kodu nasıl değiştirmem gerekiyor peki?
  • 04-09-2009, 11:54:31
    #5
    $sorgu=mysql_query("SELECT `yorum` FROM mesajlar WHERE m_id='$m_id'");
    $veri=mysql_fetch_array($sorgu);
    echo
    $veri['yorum'];
  • 04-09-2009, 12:03:56
    #6
    @darbetim çok teşekkürler hocam. üstte ilk mesajınızda yazmışsınız zaten kodu. Sizin mesajı okurken patron geldi göremedim o anda

    @sdemirkeser hocam

    mysql_free_result($sorgu); kodu ne işe yarıyor peki?
  • 04-09-2009, 12:15:35
    #7
    Bu kodda çok önemli bir yanlış var. WHERE komutu kullandığınızda veritabanından 1 kayıt döner, bu yüzden veriyi while döngüsü içine almak yanlış, sorguyu bitirmek için fetch etmeniz yeterlidir.

    Ayrıca mysql_free_result(); kullanmayınız, istemci betik sonunda bu gibi fonksiyonların işlerini otomatik olarak zaten yapar.

    mysql_free_result(); hafızadaki sorguyu boşaltmaya yarar ama gereksizdir.
  • 04-09-2009, 12:38:42
    #8
    Enigmatic adlı üyeden alıntı: mesajı görüntüle
    Bu kodda çok önemli bir yanlış var. WHERE komutu kullandığınızda veritabanından 1 kayıt döner, bu yüzden veriyi while döngüsü içine almak yanlış, sorguyu bitirmek için fetch etmeniz yeterlidir.

    Ayrıca mysql_free_result(); kullanmayınız, istemci betik sonunda bu gibi fonksiyonların işlerini otomatik olarak zaten yapar.

    mysql_free_result(); hafızadaki sorguyu boşaltmaya yarar ama gereksizdir.
    Çok fazla sorgunun kullanıldığı sayfalarda filan gerekli olabiliyor bazen.
    yoksa yorumlama sonunda zaten otomatik temizlik yapılıyor.
    bugünün işini yarına bırakmıyor php
  • 04-09-2009, 12:43:16
    #9
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    Çok fazla sorgunun kullanıldığı sayfalarda filan gerekli olabiliyor bazen.
    yoksa yorumlama sonunda zaten otomatik temizlik yapılıyor.
    bugünün işini yarına bırakmıyor php
    E hadi tamam öyle olsun içi rahat eden kullansın, bi zararı yok nasılsa (aslında biraz var ama anlayabilmek için kafa yormak lazım).