sql >> Base de Datos >  >> RDS >> Mysql

implementar la consulta LIKE en PDO

Tienes que incluir el % firma en el $params , no en la consulta:

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
$stmt = $handle->prepare($query);
$stmt->execute($params);

Si mirara la consulta generada en su código anterior, vería algo como SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%' , porque la instrucción preparada cita sus valores dentro de una cadena ya citada.