Maison >base de données >tutoriel mysql >Comment implémenter correctement des requêtes LIKE avec PDO à l'aide de deux 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!