Bir sorguda takıldım.

Amacım bir verinin bilgisini ve o verinin kategorisine ait tüm bilgileri tek bir sorguda almak.

Kullanılabilir bir kodum var ama işlev hatalı. Hatam ise kaç tane kategori varsa o kadar kategori sayısınca aynı veriyi
döndürmesi

Hatam:  https://prnt.sc/OzPLaGHFMGP5

Konularımı sakladığım tablom:  https://prnt.sc/PEqSq2mM5NKM

Kategorilerimi sakladığım tablom:  https://prnt.sc/WK7n8kAGoUWD

verilerimi çekmek için kodum:

 <?php
if (!isset($_GET['url']) || boş($_GET['url'])){
    başlık('Konum:404.php');
}

$datas = $db->prepare('SELECT * FROM post WHERE url = ?');
$datas->execute([
    $_GET['url']
]);
$veri = $veri->getir(PDO::FETCH_ASSOC);

if (!$veri){
    başlık('Konum:404.php');
    çıkış;
}

// veri kategorisini çektirdiğim kodum:
<?php $categories = $db->query('Kategorileri SEÇ.*, COUNT(posts.id) as totalCategory FROM kategorileri LEFT JOIN gönderileri ON FIND_IN_SET(categories.id, posts.category_id) GROUP BY Category.id DESC')->fetchAll(PDO::FETCH_ASSOC); ?> <?php foreach ($kategori olarak $kategori): ?> <div class="konteyner mt-4"> <div class="row"> <div class="col-md-12"> <div class="kart mb-3"> <div class="kart başlığı"> <i class="bi-folder"></i> Kategori: <a href="<?= 'category/' .seo($data['url']) ?>"><?=$category[ ' kategori_adı']?></a> <a class="Date"><?=$data['date']?> <i class="bi-clock"></i></a> </div> <div class="kart gövdesi"> <?=htmlspecialchars_decode($veri['içerik'])?> </div> </div> </div> </div> <?php endforeach; ?>

Peki sorgumda yanlış olan ne, ne önerirsiniz?