Maison > Questions et réponses > le corps du texte
P粉7225212042023-08-23 09:18:33
Pour ceux qui utilisent des paramètres nommés, voici comment utiliser la correspondance partielle dans la base de données MySQLLIKE
进行%
:
WHERE column_name LIKE CONCAT('%', :dangerousstring, '%')
où se trouvent les paramètres nommés :dangerousstring
.
En d'autres termes, vous utilisez des symboles %
explicites sans échappement dans vos requêtes, qui sont distincts de la saisie de l'utilisateur.
EDIT : Pour Oracle Database, la syntaxe de jointure utilise l'opérateur de jointure : ||
, elle se simplifiera donc en :
WHERE column_name LIKE '%' || :dangerousstring || '%'
Cependant, comme @bobince l'a mentionné ici, il y a quelques mises en garde :
Par conséquent, il y a d'autres choses à prendre en compte lors de la combinaison du like et du paramétrage.
P粉7318612412023-08-23 00:34:09
J'ai trouvé la réponse après avoir posté :
$query = $database->prepare('SELECT * FROM table WHERE column LIKE ?'); $query->execute(array('value%')); while ($results = $query->fetch()) { echo $results['column']; }