lostyazilim

Pdo id eşit olanı listeleme

14 Mesajlar 2.633 Okunma
lstbozum
wmaraci reklam

berkaykrx berkaykrx WM Aracı Kullanıcı
  • Üyelik 14.09.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek PHP Developer
  • Konum Ankara
  • Ad Soyad İ** K**
  • Mesajlar 974
  • Beğeniler 269 / 229
  • Ticaret 17, (%100)
Arkadaşlar pdo yeni geçiş yaptım bir şey sormak istiyorum
mysqlde icerikler bölümüm var birde slider bölümü. Slider bölümüne ekleme yaptığımda icerik_id alarak postid içerik ekliyor. İçerik listeleme yaptığımda icerik bölümündeki icerik_id ile slider bölümündeki postid eşit olanı nasıl çektirebilirim? Umarım anlatabilmişimdir :)

icerik db



slider db

 

 

wmaraci
reklam

gokrtl gokrtl mekatronik.org Kullanıcı
  • Üyelik 11.11.2016
  • Yaş/Cinsiyet 40 / E
  • Meslek Özel Güvenlik Görevlisi
  • Konum Antalya
  • Ad Soyad G** K**
  • Mesajlar 122
  • Beğeniler 19 / 24
  • Ticaret 0, (%0)

$query = $db->query(SELECT i.xxx FROM icerikler i INNER JOIN slider s ON i.icerik_id = s.postid);
$icerik = $query->fetch(PDO::FETCH_ASSOC);


xxxx yerine çekmek istediğin kaydı yazarsın.
berkaykrx

kişi bu mesajı beğendi.

www.mekatronik.org/forum

berkaykrx berkaykrx WM Aracı Kullanıcı
  • Üyelik 14.09.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek PHP Developer
  • Konum Ankara
  • Ad Soyad İ** K**
  • Mesajlar 974
  • Beğeniler 269 / 229
  • Ticaret 17, (%100)

gokrtl adlı üyeden alıntı


$query = $db->query(SELECT i.xxx FROM icerikler i INNER JOIN slider s ON i.icerik_id = s.postid);
$icerik = $query->fetch(PDO::FETCH_ASSOC);


xxxx yerine çekmek istediğin kaydı yazarsın.


Hocam

$query = $db->query("SELECT * FROM users INNER JOIN products ON users.id = products.sellerid WHERE sellerid = users.id");
$icerik = $query->fetch(PDO::FETCH_ASSOC);


dediğimde konuya ait olan satıcının ismini çekmiyor sadece ilk üründeki satıcının ismini veriyor..
 

 

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Diğer konunuzda belirttim nasıl kullanacağınızı. Ayrıca bu sorgunuzda büyük bir mantık hatası var. Where sellerid = users.id demişsiniz. Hangi users.id yi arayacak ? Onu geçtim sellerid demişsiniz fakat products.sellerid olması gerekiyor.

Kısacası olay şöyle gerçekleşmeli;



$id = /* Şuan ki üyenizin id si */

$myquery= $db->query("SELECT * FROM users INNER JOIN products ON users.id = products.sellerid WHERE products.sellerid = :userid");
$myquery->bindParam(':userid', $id, PDO::PARAM_STR);

berkaykrx ncmttn

kişi bu mesajı beğendi.

sefacandemir.com.tr
wmaraci
wmaraci

berkaykrx berkaykrx WM Aracı Kullanıcı
  • Üyelik 14.09.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek PHP Developer
  • Konum Ankara
  • Ad Soyad İ** K**
  • Mesajlar 974
  • Beğeniler 269 / 229
  • Ticaret 17, (%100)
Hocam her yer bir örnek veriyor hepsini test ediyorum. Kafam iyice karıştı :) SefaCanDemir
 

 

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Php bilgim çok iyi değil syntax lar da sorun yaşayabilirsiniz ben veritabanı programlama öğrencisiyim fakat genel mantığı anlamaya ve anlatmaya çalıştım elimden geldiğince.
berkaykrx

kişi bu mesajı beğendi.

sefacandemir.com.tr

ncmttn ncmttn WM Aracı Kullanıcı
  • Üyelik 04.03.2017
  • Yaş/Cinsiyet 28 / E
  • Meslek Or. Müh.
  • Konum Karaman
  • Ad Soyad N** Ö**
  • Mesajlar 25
  • Beğeniler 3 / 5
  • Ticaret 0, (%0)
Hocam şuanda mobildeyim ama bu tip sorunlarda önce sorguyu phpmyadminden SQL kısmından yapın istediğiniz sonucu alınca PHP de isleminizi yapin
 

 

berkaykrx berkaykrx WM Aracı Kullanıcı
  • Üyelik 14.09.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek PHP Developer
  • Konum Ankara
  • Ad Soyad İ** K**
  • Mesajlar 974
  • Beğeniler 269 / 229
  • Ticaret 17, (%100)

SefaCanDemir adlı üyeden alıntı

Php bilgim çok iyi değil syntax lar da sorun yaşayabilirsiniz ben veritabanı programlama öğrencisiyim fakat genel mantığı anlamaya ve anlatmaya çalıştım elimden geldiğince.


WHERE products.sellerid = :userid (MySQL çıktısı: Belgeler

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LIMIT 0, 25' at line 1)

Burada : için hata veriyor
 

 

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Pdo parametre yazım kurallarına (syntax) a bakar mısınız? Benim pek bilgim yok. Sanırım :userid bir veri döndürmüyor. Direk :userid şeklinde basıyor ve sql de bunu syntax hatası olarak algılıyor.

Mantıktan şöyle bahsedeyim size;

Siz iki tabloyu birleştirip elinizdeki bir veri ile listeleme yapmak istiyorsunuz bu durumda WHERE komutundan sonra 'eşitlemek istediğiniz kolon adı = elinizdeki veri' şeklinde listeletmelisiniz.
 

 

sefacandemir.com.tr

ncmttn ncmttn WM Aracı Kullanıcı
  • Üyelik 04.03.2017
  • Yaş/Cinsiyet 28 / E
  • Meslek Or. Müh.
  • Konum Karaman
  • Ad Soyad N** Ö**
  • Mesajlar 25
  • Beğeniler 3 / 5
  • Ticaret 0, (%0)

SefaCanDemir adlı üyeden alıntı

Diğer konunuzda belirttim nasıl kullanacağınızı. Ayrıca bu sorgunuzda büyük bir mantık hatası var. Where sellerid = users.id demişsiniz. Hangi users.id yi arayacak ? Onu geçtim sellerid demişsiniz fakat products.sellerid olması gerekiyor.

Kısacası olay şöyle gerçekleşmeli;



$id = /* Şuan ki üyenizin id si */

$myquery= $db->query("SELECT * FROM users INNER JOIN products ON users.id = products.sellerid WHERE products.sellerid = :userid");
$myquery->bindParam(':userid', $id, PDO::PARAM_STR);


query değilde prepare yapin
SefaCanDemir

kişi bu mesajı beğendi.

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al