• 10-10-2019, 09:55:38
    #1
    bu kodu eklediğimde sayfa bozuluyor hiçbir veri çekilmiyor nerede hata yapıyorum bilmiyorum
    inner join kategoriler on kategoriler.kategori_id = urunler.kategori_id

    $urunler=$db->prepare("SELECT * from urunler inner join kategoriler on kategoriler.kategori_id = urunler.kategori_id inner join markalar on markalar.marka_id = urunler.marka_id where dil=2 and durum=0 and id=:id");

    // ÜRÜN DETAY KODLARI
    $urunler=$db->prepare("SELECT * from urunler inner join markalar on markalar.marka_id = urunler.marka_id where dil=2 and durum=0 and id=:id");
    $urunler->execute(array("id" => $_GET['id']));
    while ($urun_goster=$urunler->fetch(PDO::FETCH_ASSOC)){
    $dil = array(
        "urun_adi" => $urun_goster['urun_adi'],
        "aciklama" => $urun_goster['aciklama'],
        "gorsel" => $urun_goster['gorsel'],
        "gorsel_link" => $urun_goster['gorsel_link'],
        "stok_durumu" => $urun_goster['stok_durumu'],
        "fiyat" => $urun_goster['fiyat'],
        "marka_id" => $urun_goster['marka_id'],
        "kategori_id" => $urun_goster['kategori_id'],
        "urun_kodu" => $urun_goster['urun_kodu'],
        "ozel_urunler" => $urun_goster['ozel_urunler'],
        "anasayfada_goster" => $urun_goster['anasayfada_goster'],
        "urun_videosu" => $urun_goster['urun_videosu'],
        "alt_kategori_id" => $urun_goster['alt_kategori_id'],
        "durum" => $urun_goster['durum'],
        "marka_adi" => $urun_goster['marka_adi'],
        "kategori_id" => $urun_goster['kategori_adi']
        
    );
    $urundetay[] = $dil;
    }
  • 10-10-2019, 10:02:27
    #2
    Üyeliği durduruldu
    Muhtemelen JOIN yaptığınız diğer tablolarda da id sütunu mevcut. Bu yüzden WHERE kullanımında id kolonunun hangi tablodan kontrol edileceğini belirtmelisiniz. Aşağıdaki SQL kodunu kullanın.

    SELECT * from urunler inner join kategoriler on kategoriler.kategori_id = urunler.kategori_id inner join markalar on markalar.marka_id = urunler.marka_id where dil=2 and durum=0 and urunler.id=:id
  • 10-10-2019, 10:06:38
    #3
    Socibox adlı üyeden alıntı: mesajı görüntüle
    Muhtemelen JOIN yaptığınız diğer tablolarda da id sütunu mevcut. Bu yüzden WHERE kullanımında id kolonunun hangi tablodan kontrol edileceğini belirtmelisiniz. Aşağıdaki SQL kodunu kullanın.

    SELECT * from urunler inner join kategoriler on kategoriler.kategori_id = urunler.kategori_id inner join markalar on markalar.marka_id = urunler.marka_id where dil=2 and durum=0 and urunler.id=:id

    hocam kategoriler tablosunda kategori_id markalarda marka_id urunlerde id sütunu var idlerin çakışmasıyla alakalı bir durum olduğunu düşünmüyorum
  • 10-10-2019, 10:20:37
    #4
    Hocam 2 gündür bu sorunla uğraşıyosun mysql e bağlanma şansım varsa hallediveriyim hemen sana şuan arkadaşın dediği diğer tablodaki alanlarla aynı olanlar olabilir görmeden bişey diyemeyiz. Yada sql in yedeğini yolla bi bakıyım.
  • 10-10-2019, 10:55:08
    #5
    "SELECT * from urunler inner join markalar on markalar.marka_id = urunler.marka_id where dil=2 and durum=0 and id=:id
    1. * from olarak değilde ihtiyacın olanları alias'ları ile birlikte yazmayı dene
    select urunler.urun_adi , urunler.aciklama from.....

    2. where kısmından sonra kullandıklarında aynı şekilde tablo adını dahil et
    ...... where urunler.dil = 2 and urunler.durum = 0 and urunler.id=:id gibi

    3.
    oluşturduğun array da 2 tane kategori_id var

    4. Inner join de markalar.marka_id = urunler.marka_id eşleşmez ise boş döner , left join kullanabilirsin.