• 27-08-2007, 19:00:28
    #1
    arkadaşlar ben databaseden arama yaptırıyom ve sonuç yoksa yazdıracağım msj yerine hata çıkıyo mysqlfetcharray falan die

    işte kodlarım

    $sonuc = mysql_query("SELECT * FROM `links` WHERE 1 AND `title` LIKE '%$ara%' LIMIT $baslangic,$bitis");

    $a = ceil($nekadar/$sonuc_limiti)+1;
    while ($yaz = mysql_fetch_array($sonuc)):
    $baslik = substr($yaz["title"],0,75);
    $link = substr($yaz["url"],0,75);
    $aciklama = $yaz['description'];
    $size = $yaz['size'];
    $link2 = substr($yaz["url"],0,75);

    if ($sonuc==""){
    echo"sonuç bulunamadı";}

    else{echo"sonuç var";}

    sonuç bulunamadı ve sonuç varı kendim yazdım işte sonuç bulununca sıralatıyom fakat bulunamayınca mysql_fetch_array hatası veriyo

    hatada şöle

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\dsa\ara\web\ara.php on line 127
  • 27-08-2007, 19:25:09
    #2
    while ($yaz = mysql_fetch_array($sonuc)): kısmındaki en sonraki iki nokta üstüste işaretini kaldır.

    $yaz["url"] bu kısmı $yaz['url'] yap
    $yaz["title"] bu kısmı $yaz['title'] yap

    ama hata üsttekilerle ilgili değil.üstekileri bi sorun çıkmaması için verdim.
    hata sql sorgunda sql sorgundaki hata

    WHERE 1 AND
    kısmında oradaki 1 ney.

    tam olarak ne yapmak istediğini yazarsan yardımcı olalım.hangi tabloda hangi alanda neyi arama yapmak istiyorsun.
  • 27-08-2007, 19:32:21
    #3
    Üyeliği durduruldu
    bkz: mysql_num_rows()

    if ($sonuc=="") diğe birşey olmaz.
  • 27-08-2007, 21:43:07
    #4
    Üyeliği durduruldu
    yasarkemaldag
    : amacı aşağıda
    endwhile;
    ile bitirilecek olmasından dolayı koymuştur orada " lar ile ' ları değiştirmenin bir getirisi olmayacaktır
    mysql_query
    resource # integer
    gibi bir çıktı vs veriyordu galiba =="" değilde false null ile denene bilir "" null anlamında gelsede çıktı olarak null sanırım
    if(mysql_num_rows($sonuc)==0) ile test edebilirsin değeri onuda while dan önce koy ki bir işe yarasın else sine while i yaz
  • 27-08-2007, 23:47:37
    #5
    saho adlı üyeden alıntı: mesajı görüntüle
    yasarkemaldag
    : amacı aşağıda
    endwhile;
    ile bitirilecek olmasından dolayı koymuştur orada " lar ile ' ları değiştirmenin bir getirisi olmayacaktır
    mysql_query
    resource # integer
    gibi bir çıktı vs veriyordu galiba =="" değilde false null ile denene bilir "" null anlamında gelsede çıktı olarak null sanırım
    if(mysql_num_rows($sonuc)==0) ile test edebilirsin değeri onuda while dan önce koy ki bir işe yarasın else sine while i yaz
    bilgilendirdiğin için sağolasın saho.bilmemek değil öğrenmemek ayıp
    ben endwhile kullanmadığım için hiç rastlamadım.

    bu arada beratkeles sahonunda dediği gibi mysql_num_rows fonksiyonu ile karşılaştırma yapabilirsin.