Maison > base de données > tutoriel mysql > Comment lier correctement les valeurs LIKE avec les symboles de pourcentage final dans PDO ?

Comment lier correctement les valeurs LIKE avec les symboles de pourcentage final dans PDO ?

DDD
Libérer: 2024-12-28 13:28:10
original
868 Les gens l'ont consulté

How to Properly Bind LIKE Values with Trailing Percentage Symbols in PDO?

Liaison de valeurs LIKE avec PDO

Dans une requête de base de données, les opérateurs LIKE sont utilisés pour effectuer des recherches par caractères génériques. Lors de la liaison de valeurs LIKE à l'aide de l'extension PDO, il est important de gérer correctement le symbole de pourcentage final.

Lier les valeurs LIKE avec le symbole de pourcentage final

Dans la requête fournie, vous souhaitez lier la variable $partial%. L'approche correcte consiste à utiliser un espace réservé avec un signe de pourcentage à la fin :

select wrd from tablename WHERE wrd LIKE :partial%
Copier après la connexion

où :partial est lié à $partial="somet", avec le symbole de pourcentage ajouté automatiquement.

Approches alternatives

Bien que l'approche ci-dessus soit standard, vous pouvez également Considérez :

  • Utilisation de CONCAT : La requête peut être réécrite comme :
SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')
Copier après la connexion

Cette approche reporte la concaténation de chaînes à MySQL.

Échappement des caractères spéciaux

Si la partie Le mot recherché contient des caractères spéciaux tels que %, _ ou , un échappement supplémentaire est nécessaire. Utilisez l'approche suivante :

$stmt= $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'");
$escaped= str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var);
$stmt->bindParam(':term', $escaped);
Copier après la connexion

En échappant ces caractères, vous vous assurez qu'ils sont interprétés correctement dans la condition LIKE.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal