$ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));
Questo è sbagliato. Non hai bisogno delle virgolette doppie.
WHERE hs.hs_text LIKE ":searchTerm"
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));
Anche questo è sbagliato. Prova con:
$prep = $dbh->prepare($sql);
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));
Spiegazione:Le istruzioni preparate non eseguono semplicemente una sostituzione di stringhe. Trasportano i dati completamente separati dalla query. Le virgolette sono necessarie solo quando si incorporano valori in una query.