Comment utiliser les caractères génériques avec les instructions préparées par PDO : un guide pour éviter les pièges courants ?

DDD
Libérer: 2024-10-28 13:52:01
original
257 Les gens l'ont consulté

How to Use Wildcards with PDO Prepared Statements: A Guide to Avoiding Common Pitfalls?

Instructions préparées PDO avec prise en charge des caractères génériques

Les instructions préparées offrent une sécurité et des performances améliorées pour les requêtes de base de données en empêchant les attaques par injection SQL. Cependant, l'utilisation de caractères génériques avec des instructions préparées peut poser des problèmes.

Dans votre cas, vous essayiez d'exécuter une requête telle que :

<code class="sql">SELECT * FROM `gc_users` WHERE `name` LIKE '%anyname%'</code>
Copier après la connexion

Vous avez tenté de lier le paramètre avec '%:name %' et ':name', mais les deux ont échoué. Voici comment utiliser des caractères génériques avec des instructions préparées :

Utilisation de bindValue :

Vous pouvez utiliser bindValue pour lier correctement les paramètres génériques :

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

Utilisation de bindParam (Modifié) :

De plus, vous pouvez également utiliser bindParam avec une légère modification :

<code class="php">$name = "%$name%";
$query = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` like :name");
$query->bindParam(':name', $name);
$query->execute();</code>
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal