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

implementar consulta LIKE no PDO


Você deve incluir o % entra no $params , não na consulta:
$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
$stmt = $handle->prepare($query);
$stmt->execute($params);

Se você olhar para a consulta gerada em seu código anterior, verá algo como SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%' , porque a instrução preparada está citando seus valores dentro de uma string já citada.