Maison > base de données > tutoriel mysql > Comment utiliser correctement LIKE avec BindParam dans les requêtes MySQL PDO ?

Comment utiliser correctement LIKE avec BindParam dans les requêtes MySQL PDO ?

Susan Sarandon
Libérer: 2024-11-08 22:10:02
original
1012 Les gens l'ont consulté

How to Correctly Use LIKE with BindParam in MySQL PDO Queries?

Utiliser correctement LIKE avec BindParam dans une requête MySQL PDO

Lorsque vous essayez d'effectuer des recherches LIKE avec bindParam dans des requêtes MySQL PDO, il est essentiel d'utiliser la syntaxe correcte pour garantir des résultats précis.

Optimisé Syntaxe

Pour faire correspondre les noms d'utilisateur commençant par "a" à l'aide de bindParam, la syntaxe correcte est :

$term = "a%";
Copier après la connexion

En revanche, la syntaxe fournie dans la question d'origine, "$term = "'$term%'" est incorrect car il place des guillemets simples internes inutiles autour de la valeur $term, ce qui entraînerait la recherche de "a%" au lieu de a%.

Le rôle de bindParam

bindParam est responsable de la citation automatique des données de chaîne lorsqu'elles sont insérées dans des instructions SQL. Par conséquent, l'ajout manuel de guillemets simples n'est pas nécessaire et peut conduire. à des résultats incorrects.

Révisé Code

En utilisant la syntaxe optimisée, le code révisé serait :

$term = "a%";

$sql = "SELECT username FROM `user` WHERE username LIKE :term LIMIT 10";      

$core = Connect::getInstance();

$stmt = $core->dbh->prepare($sql);
$stmt->bindParam(':term', $term, PDO::PARAM_STR);
$stmt->execute();
$data = $stmt->fetchAll();
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal