• 13-08-2008, 07:21:57
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar benim şöyle bi sorunum var, aynı kayıt varsa devam etsin farklı kayıtsa veritabanına yazsın uğraştım ama denediğim şeyler hata verdi.


    $add = mysql_query("INSERT INTO tablo SET eklenceksey = '$bu'");
    }
  • 13-08-2008, 07:44:47
    #2
    PHP / php ve Mysql Kullanarak Satır Kontrolu
    Bu makale isinizi Gorur.
    Manktik Gelistirmeniz icin ama Takilirsaniz Yardımcı Olalim.
    <?php 
    $sor=mysql_query("select * from tabloadi where sutunadi='$degisken'");
    if(@mysql_num_rows($sor)>0){
    echo "Bu Kayıt Daha Once Girilmis";
    }else{
    // Veritabani ekleme kodlarin buraya
    }
    ?>
  • 16-08-2008, 21:47:14
    #3
    mysql_num_rows fonksiyonu sqlin utanması gereken bir fonksiyondur. belli bir kayıttan sonra sapıtıyor kendileri. bunun yerine count kullanmanız yerinde olacaktır.

    <?
    $say=mysql_fetch_assoc(mysql_query(" select count(*) as say from tabloadi where sutun='$degisken' "));
    if($say[say]==0){
    //insert et
    }else{
    //böyle bir kayıt vardır
    }
    ?>
  • 17-08-2008, 09:47:38
    #4
    Üyeliği durduruldu
    Alıntı
    mysql_num_rows fonksiyonu sqlin utanması gereken bir fonksiyondur.
    ne yani mysql_num_rows SQL Fonksiyonu mu?
    Siz şimdi SQL ile Mysql'inde ne demek olduğunu bilmiyorsunuzdur?

    www.php.net/mysql_num_rows
  • 17-08-2008, 10:09:25
    #5
    ifthenelse35 adlı üyeden alıntı: mesajı görüntüle
    mysql_num_rows fonksiyonu sqlin utanması gereken bir fonksiyondur. belli bir kayıttan sonra sapıtıyor kendileri. bunun yerine count kullanmanız yerinde olacaktır.

    <?
    $say=mysql_fetch_assoc(mysql_query(" select count(*) as say from tabloadi where sutun='$degisken' "));
    if($say[say]==0){
    //insert et
    }else{
    //böyle bir kayıt vardır
    }
    ?>
    mysql_num_rows php fonksiyonu. 100.000 kayıtı saydırırken mysql_num_rows kullanırsan senin utanman lazım.

    diğer türlü mysql fonksiyonları olan calc_found_rows ve count kullanırsan sunucuyu fazla üzmezsin.
  • 17-08-2008, 10:20:52
    #6
    Üyeliği durduruldu
    OnuSQL++

    Ayrıca bu konu ile ilgili fazla değil 2 gun once bir açıklama yaptım buyrun ifthenelse okuyun bilginiz olsun.

    https://www.r10.net/2319405-post7.html
  • 17-08-2008, 11:15:30
    #7
    gerçekten tebrik ederim =) sql ile ilgili dökümnda linkleyn onuda okuyayımda öğreneym =)

    (çok satırlı tabloda bir işlem yapında görün bakalım sonuçları)
  • 17-08-2008, 11:38:57
    #8
    <php
    $sonuc = mysql_query("Select Count(id) From tablom where sutun='$degisken'");
    if(mysql_result($sonuc,0) ==0){
    //insert
    }else{
    //kayıt var
    }
    ?>
    Peki şöyle kullansak yukarıdaki kullanıma göre hangisi daha performanslı olur?

    Ayrıca ekleneceksey alanını phpmyadminden unique olarak yaparsan aynısı varsa eklemez.
  • 17-08-2008, 13:03:59
    #9
    <php
    $sonuc = mysql_query("SELECT id FROM tablom WHERE sutun='$degisken' LIMIT 0, 1");
    if( mysql_num_rows($sonuc) ){
    //insert
    } else {
    //kayıt var
    }
    ?>
    Bence yukarıdaki istenilen işlem için en uygunu böyle bir kod olur. Bulduğu ilk eş değer kayıtda çıkacak, COUNT ile tüm satırları saymasına gerek kalmayacak.