Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Arama yapmak için sql sorgusu

Konu, 'SQL' kısmında webandyazilimprofesor tarafından paylaşıldı.

  1. webandyazilimprofesor

    webandyazilimprofesor Üye

    Kayıt:
    2 Eylül 2017
    Mesajlar:
    138
    Beğenilen Mesajlar:
    3
    Şehir:
    Ankara
    Merhaba,

    arkadaşlar bir arama sayfam var. Bir sorgu yazdım ama sadece kelime varsa sonuç olarak veriyor.

    Yani :

    Aratılan : adana

    Veritabanı : adana nasıl - nasıl adana - adana

    Sonuç : adana (sadece)

    Benim yapmak istediğim ister sonda olsun ister ortada ister başta.

    yeni :

    Aratılan : a

    Veritabanı : php'de arama - asp - nasıl

    Sonuç : php'de arama - asp - nasıl (hepsi)


    yazdığım sorgu :

    Kod:
    select * from forum where konuad like ?
    Sizce nasıl bir sorgu yazmam gerekiyor?

    Umarım anlatabilmişimdir.

    Yardımınıza ihtiyacım var.
     
  2. dinlex

    dinlex Aktif Üye

    Kayıt:
    23 Aralık 2016
    Mesajlar:
    341
    Beğenilen Mesajlar:
    88
    Şehir:
    Hatay
    Google'a "sql arama" yazinca bile çikiyor yüzlerce örnek. Hiç aramamişsiniz galiba.

    $kelime = "adana";
    ...WHERE konuad LIKE '%$kelime%'...

    Örnek Sonuçlar;
    1) Yarın Adanaya gideceğim.
    2) Badana yapıyoruz

    Adanayla alakasız kelimelerin de içinde adana geçiyorsa onlar da çikar. "Badana" gibi
     
  3. webandyazilimprofesor

    webandyazilimprofesor Üye

    Kayıt:
    2 Eylül 2017
    Mesajlar:
    138
    Beğenilen Mesajlar:
    3
    Şehir:
    Ankara
    Merhaba,

    öncelikle cevabınız için çok teşekkür ederim. Sorguyu şöyle değiştirdim :

    Kod:
    $aramacek = $baglanti -> prepare("select * from forum where konuad like '%?%'");
    Ama şimdi hiç bir sonuç çıkmıyor.

    Bu sorunu nasıl çözebilirim?

    Yardımınıza ihtiyacım var.
     
  4. gk

    gk Üye

    Kayıt:
    24 Aralık 2009
    Mesajlar:
    146
    Beğenilen Mesajlar:
    21
    Meslek:
    Yazılım Geliştirici
    Şehir:
    İstanbul
    Yüzde işaretlerini bind_param yaparken ekleyin, şunun gibi :
    PHP:
    $aramacek $baglanti -> prepare("select * from forum where konuad like ?");
    $aramacek->bind_param("s""%"$kelime ."%");
     
  5. webandyazilimprofesor

    webandyazilimprofesor Üye

    Kayıt:
    2 Eylül 2017
    Mesajlar:
    138
    Beğenilen Mesajlar:
    3
    Şehir:
    Ankara
    Merhaba,

    dediğiniz gibi yaptım ama şöyle bir hata aldım :

    Fatal error: Uncaught Error: Cannot pass parameter 2 by reference in C:\xampp\htdocs\xxx\arama.php:46 Stack trace: #0 {main} thrown in

    Yardımınıza ihtiyacım var.
     
  6. gk

    gk Üye

    Kayıt:
    24 Aralık 2009
    Mesajlar:
    146
    Beğenilen Mesajlar:
    21
    Meslek:
    Yazılım Geliştirici
    Şehir:
    İstanbul
    Şöyle deneyin bir de :
    PHP:
    $aramacek $baglanti -> prepare("select * from forum where konuad like ?");
    $kelime "%"$kelime ."%";
    $aramacek->bind_param("s"$kelime);
     
  7. webandyazilimprofesor

    webandyazilimprofesor Üye

    Kayıt:
    2 Eylül 2017
    Mesajlar:
    138
    Beğenilen Mesajlar:
    3
    Şehir:
    Ankara
    Merhaba,

    çok teşekkür ederim sayenizde sorun çözüldü. Birde daha dün açtığım, popüler sorularda bu sorunun altında olan bir sorum daha var. Ona da bir göz atarsanız çok memnun olurum.

    İti günler.