PHP PDO Class with multiple Select Efficiency and speed
The most important thing you have to learn about classes: every method should be responsible for one task only. Means a method that gets you a count should return you a count, not some HTML.

Two other minor improvements would be a better SQL formatting, so anyone could actually read it and a nice helper function that exists in PDO, fetchColumn():

So your methods should be like

public function getCount($sq,$bkid) {
    $sql = "SELECT COUNT(sentence)
            FROM sentence, chapters, books 
            WHERE MATCH(sentence) AGAINST (:q IN BOOLEAN MODE) 
                AND chapters.book_Id = books.book_Id 
                AND sentence.chapter_Id = chapters.chapter_Id 
                AND books.book_Id = :bk"
    $sth = $this-&gt;PDO-&gt;prepare($sql);
    $sth-&gt;execute(array(':q' =&gt; $sq, ':bk' =&gt; $bkid));
    return $sth-&gt;fetchColumn();
}


Whereas for the HTML formatting there should be another method/function. Let me suggest to you something like this:

function getLink($title, $count, $parameters)
{
    if ($count)
    {
        $qs = http_build_query($parameters);
        $title = htmlspecialchars($title);
        return "&lt;a href='filter.php?$qs'&gt;$title&lt;/a&gt;&lt;sup&gt;$total&lt;/sup&gt;\n";
    }
}


it could be used like this:

$count = $t-&gt;getCount($search, 11);
echo getLink("Book 1", $count, ['id' =&gt; 11, 'q'=&gt; $search]);


Here, as you can see, a handy http_build_query() would take care of encoding your keys and values.