Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Instrução preparada PHP PDO - consulta MySQL LIKE

$ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));

Isto está errado. Você não precisa das aspas duplas.
WHERE hs.hs_text LIKE ":searchTerm" 
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));

Isso também está errado. Tente com:
$prep = $dbh->prepare($sql);
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));

Explicação:As instruções preparadas não fazem simplesmente uma substituição de string. Eles transportam os dados completamente separados da consulta. As aspas são necessárias apenas ao incorporar valores em uma consulta.