Maison > développement back-end > tutoriel php > Comment utiliser des caractères génériques avec des instructions préparées dans MySQL ?

Comment utiliser des caractères génériques avec des instructions préparées dans MySQL ?

Barbara Streisand
Libérer: 2024-10-28 09:46:02
original
978 Les gens l'ont consulté

 How to Use Wildcards with Prepared Statements in MySQL?

Exécution de requêtes MySQL avec des instructions préparées et des caractères génériques

Lors de l'exécution de requêtes SQL à l'aide d'instructions préparées, il est essentiel d'utiliser efficacement les caractères génériques pour améliorer la flexibilité et l'efficacité de vos requêtes. Bien que les instructions préparées offrent des avantages en matière de sécurité en empêchant l'injection SQL, elles peuvent nécessiter certains ajustements lors de l'incorporation de caractères génériques.

Dans votre scénario spécifique, l'exécution de la requête :

SELECT * FROM `gc_users` WHERE `name` LIKE '%anyname%'
Copier après la connexion

avec des instructions préparées a initialement échoué, car le code tentait de lier un paramètre directement à un caractère générique. Cependant, en utilisant bindValue au lieu de bindParam, vous avez réussi à obtenir la fonctionnalité souhaitée, en liant la variable $name entourée d'un caractère générique :

$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE :name");
$stmt->bindValue(':name', '%' . $name . '%');
$stmt->execute();
Copier après la connexion

Alternativement, vous pouvez également exploiter bindParam en conjonction avec le préfixe et l'ajout de caractères génériques au Variable $name, comme indiqué ci-dessous :

$name = "%$name%";
$query = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` like :name");
$query->bindParam(':name', $name);
$query->execute();
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