Maison >base de données >tutoriel mysql >Comment implémenter correctement des requêtes LIKE avec PDO à l'aide de deux variables ?

Comment implémenter correctement des requêtes LIKE avec PDO à l'aide de deux variables ?

DDD
DDDoriginal
2024-12-07 12:17:12752parcourir

How to Correctly Implement LIKE Queries with PDO Using Two Variables?

Implémentation de requêtes LIKE avec PDO

Lors de l'implémentation de requêtes LIKE dans PDO, on peut rencontrer des difficultés pour garantir une syntaxe correcte. Cette question met en évidence un problème rencontré lors de la tentative de recherche d'enregistrements basés sur deux variables à l'aide de LIKE.

Pour exécuter une requête LIKE avec PDO, il est crucial d'inclure le caractère générique % dans les paramètres , pas la chaîne de requête. Voici le code correct :

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
$stmt = $handle->prepare($query);
$stmt->execute($params);

Lors de la tentative précédente, les caractères % étaient inclus dans la chaîne de requête, ce qui entraînait une requête mal formée. L'instruction préparée citerait les valeurs à l'intérieur de la chaîne déjà citée, conduisant à des résultats incorrects.

En incluant les caractères génériques dans les paramètres, la requête sera correctement exécutée, recherchant les enregistrements dont la colonne d'adresse contient soit $var1 ou $var2 (ou les deux).

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!

Déclaration:
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