• 26-04-2020, 12:31:37
    #1
       $siparissor=$db->prepare("SELECT urun.*,customer.*,siparis.*,siparis_detay.*  FROM siparis INNER JOIN siparis_detay ON siparis.siparis_id=siparis_detay.siparis_id
    INNER JOIN urun ON urun.urun_id=siparis_detay.urun_id INNER JOIN customer ON customer.customer_mail=siparis_detay.customer_idsatici where siparis.siparis_id=:siparis_detay_id ");
    $siparissor->execute(array(
    'siparis_detay_id' => $_GET['siparis_id']
    ));
    
    while ($sipariscek=$siparissor->fetch(PDO::FETCH_ASSOC));
    Şu şekilde bir sorgum var ama ne kadar çok istesem de veri çekemiyorum..
    <?php echo $sipariscek['siparis_id'] ?>
    gibi şeyler yazıyorum ama hiç bir sütundan veri alamıyorum ilk defa inner join kullandığımdan muhtemelen ama yardımcı olabilecek birileri var mı ?
  • 26-04-2020, 12:32:44
    #2
    Sorgunuzu direkt olarak sql'de çalıştırdığınızda hata alıyor musunuz?
  • 26-04-2020, 12:34:17
    #3
    customer.customer_mail=siparis_detay.customer_idsa tici

    şu kısımda bir sorun olabilir mi ?
  • 26-04-2020, 12:37:36
    #4
    Üyeliği durduruldu
    İki alan birbirine karşılık gelmeli mesela kategori.ID=ürün.kategoriID left yapın bu koşma doğru yaptıysanız
  • 26-04-2020, 13:06:46
    #5
    Phpmyadmin üzerinden ilk önce sorguyu çalıştırmayı deneyin. İlla uyuşmayan bir yerler vardır. Birden fazla join nasıl kullanılıyordu hatırlamıyorum
  • 26-04-2020, 13:34:58
    #6
     $siparissor=$db->prepare("SELECT * FROM `siparis_detay` JOIN urun ON urun.urun_id=siparis_detay.urun_id JOIN customer ON customer.customer_mail=siparis_detay.customer_mail where siparis_detay.siparis_id=:cacik");
    
                                                   $siparissor->execute(array(
                                                     'cacik' => $_GET['siparis_id']
                                                   ));
                                 
                                                 
                                 
                                                  $sipariscek=$siparissor->fetch(PDO::FETCH_ASSOC);
    Bu şekilde çalıştırdım tablolarımda problem varmış aslında yani gereksiz fazladan tablo varmış herkese teşekkürler.
  • 26-04-2020, 20:47:32
    #7
    1. Tüm tablolar için * şekilnde belirtmenize gerek yok.
    2. Tüm tabloları kısa adı ile çekerseniz daha kolay olur.

    SELECT * FROM siparis s INNER JOIN siparis_detay sd ON s.siparis_id=sd.siparis_id
    .....
    Gibi