Maison > Article > développement back-end > Comment utiliser correctement les instructions préparées par PDO pour les requêtes MySQL LIKE ?
Déclaration préparée PHP PDO : requête MySQL LIKE
Lors de l'exécution d'une requête LIKE à l'aide de la classe PDO de PHP, il est essentiel de gérer correctement l'opérateur LIKE et préparez la déclaration correctement.
Problème : Dans le code fourni, la requête d'origine fonctionnait avec le client MySQL mais rencontrait des problèmes lors de la migration vers PHP.
Solution : L'erreur réside dans la clause WHERE de la méthode prepare. Les lignes suivantes sont incorrectes :
<code class="php">$ret = $prep->execute(array(':searchTerm' => '"%' . $searchTerm . '"%')); $ret = $prep->execute(array(':searchTerm' => "%:searchTerm%")); $ret = $prep->execute(array(':searchTerm' => ':' . $searchTerm . '%'));</code>
Explication :
<code class="php">WHERE hs.hs_text LIKE :searchTerm</code>
Et l'instruction préparée doit être exécutée comme suit :
<code class="php">$ret = $prep->execute(array(':searchTerm' => '%' . $searchTerm . '%'));</code>
Maintenant, la requête doit renvoyer les résultats 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!