$listesor=$db->prepare("select * from icerik where icerik_kategori IN ($kategoriid,$kategoriid2,$kategoriid3,$kategoriid4)");böyle bir sorgum var, burada çektiğim $kategoriid kısımları bazen boş olabiliyor ve gelen veri boş olduğunda hata veriyor, bunu nasıl çözebilirim, yani 4 tane $kategoriid kısmı her zaman dolu olmayabiliyor, bunun kontrolünü nasıl sağlayıp çözebilirim ? Şimdiden teşekkürler herkese. PHP birden fazla id'den içerik çekmek ?
4
●156
- 11-04-2022, 14:22:14Merhaba arkadaşlar
- 11-04-2022, 14:47:10Aşağıda verdiğim kodda $categories değişkeni bir dizi olmalı, örneğin array($kategoriid1, $kategoriid2, $kategoriid3, $kategoriid4, $kategoriid5, ...) gibi. Aşağıdaki kod PDO için placeholder'ları oluşturup sorguyu yürütüyor.
$query = "SELECT * FROM icerik WHERE icerik_kategori IN (" . str_repeat("?, ", count($categories) - 1) . "?)"; $results = $db->prepare($query)->execute($categories); - 11-04-2022, 14:47:55
$sql_text = ''; if($kategoriid != ''){ $sql_text .= $kategoriid.', '; } if($kategoriid2 != ''){ $sql_text .= $kategoriid2.', '; } // bu şekilde kaç tane varsa alt alta ekleyin // sonda kalan ', ' temizliği $sql_text = rtrim($sql_text,', '); $listesor=$db->prepare("select * from icerik where icerik_kategori IN ($sql_text)"); - 11-04-2022, 14:53:56Teşekkürler hocamsegfault adlı üyeden alıntı: mesajı görüntüle
- 11-04-2022, 14:54:23Bu aklıma gelmişti sizin tavsiyeniz üzerine yaptım, sorun yok çalışıyor, teşekkürler hocamebasit adlı üyeden alıntı: mesajı görüntüle