Mysql
 sql >> Base de données >  >> RDS >> Mysql

implémenter la requête LIKE dans PDO

Vous devez inclure le % signe dans le $params , pas dans la requête :

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

Si vous regardiez la requête générée dans votre code précédent, vous verriez quelque chose comme SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%' , car l'instruction préparée cite vos valeurs à l'intérieur d'une chaîne déjà citée.