Estoy tratando de buscar el campo name
en mi base de datos usando LIKE
. Si Craft del SQL 'por hand` así:Usando parámetros nombrados con PDO para LIKE
$query = "SELECT * \n"
. "FROM `help_article` \n"
. "WHERE `name` LIKE '%how%'\n"
. "";
$sql = $db->prepare($query);
$sql->setFetchMode(PDO::FETCH_ASSOC);
$sql->execute();
Entonces le proporcione resultados relevantes para el 'cómo'.
Sin embargo, cuando a su vez en una declaración preparada:
$query = "SELECT * \n"
. "FROM `help_article` \n"
. "WHERE `name` LIKE '%:term%'\n"
. "";
$sql->execute(array(":term" => $_GET["search"]));
$sql->setFetchMode(PDO::FETCH_ASSOC);
$sql->execute();
Siempre estoy recibiendo cero resultados.
¿Qué estoy haciendo mal? Estoy usando declaraciones preparadas en otros lugares en mi código y funcionan bien.
posible duplicado de [PDO Prepare statement not processing parameters] (http://stackoverflow.com/questions/2434560/pdo-prepare-statement-not-processing-parameters) – outis