Utilisation de requêtes paramétrées avec des instructions LIKE à l'aide de PDO
Lorsque vous travaillez avec des requêtes paramétrées qui intègrent des instructions LIKE, l'approche correcte consiste à utiliser des caractères d'espace réservé dans la requête elle-même. Cela garantit que la valeur d'entrée est correctement traitée comme un paramètre plutôt que comme une partie de la chaîne littérale.
Lors de la première tentative, l'utilisation de « ?% » comme caractère d'espace réservé était incorrecte. Au lieu de cela, un caractère d'espace réservé tel que « ? » doit être utilisé et la valeur d'entrée réelle doit être ajoutée au caractère générique lors de l'exécution de la requête.
Le code révisé ci-dessous démontre l'utilisation correcte :
$query = $database->prepare('SELECT * FROM table WHERE column LIKE ?'); $query->execute(array('value%')); while ($results = $query->fetch()) { echo $results['column']; }
En employant un caractère d'espace réservé et en ajoutant le caractère générique à la valeur d'entrée pendant l'exécution, l'instruction LIKE fonctionne comme prévu et la requête récupère les enregistrements souhaités.
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!