Merhabalar, Kodlarınız çorbaya dönmüş. PDO amacıyla kullanılmamış. LIKE kullanımı yanlış($_GET ile gelen değerlerin integer olduğunu düşünerek).
Execute ettiğiniz değer sorguda yok.
Sorgunuzun Türkçesi;
Ürünler tablosundaki
"yattur" kolonu içerisindeki verilerde başında ve sonunda ne olduğu önemli değil içerisinde $yatbul geçenleri VEYA
"sinif" kolonu içerisindeki verilerde başında ve sonunda ne olduğu önemli değil içerisinde $sinifbul geçenleri VEYA
"kisi" kolonu içerisindeki verilerde başında ve sonunda ne olduğu önemli değil içerisinde $kisibul geçenleri
birde bunlar dışında 'dil' kolonu içerisinde $_SESSION da tanımlı olan dil'i olanları listele. Bu şekilde düzgün çalışmayacaktır.
Aşağıdaki gibi toparlamaya çalıştım umarım çalışır.
$sql="SELECT * FROM urunler WHERE dil=:dil AND yattur=:yattur AND sinif=:sinif AND kisi=:kisi"
(Ürünler tablosundaki dili bu yatturü x olanları, sinif ı y olanları, kisisi z olanları listele dedik.")
$veriler=[
"dil"=>$_SESSION['anasayfadil'],
"yattur"=> $_GET["yatturu"],
"sinif"=> $_GET["sinif"],
"kisi"=> $_GET["kisisayisi"]
];
$urun=$db->prepare($sql);
$urun->execute($veriler);
$urun=$urun->fetchAll(PDO::FETCH_ASSOC);
foreach($urun as $urunbilgi) {
}