Lorsque vous travaillez avec des requêtes MySQL et la bibliothèque PDO, il est crucial pour utiliser efficacement l'opérateur LIKE. Imaginons un scénario dans lequel vous devez trouver des noms d'utilisateur commençant par la lettre « a ».
Pour faire correspondre correctement les noms d'utilisateur commençant par « a », le code suivant suffirait :
$term = "a"; $term .= "%"; // Adding the wildcard character $sql = "SELECT username FROM `user` WHERE username LIKE :term LIMIT 10"; $dbh = Connect::getInstance(); $stmt = $dbh->prepare($sql); $stmt->bindParam(':term', $term, PDO::PARAM_STR); $stmt->execute(); $data = $stmt->fetchAll();
Le code fourni place de manière incorrecte $term entre guillemets simples, ce qui entraîne une requête incorrecte. En supprimant les guillemets simples internes et en ajoutant correctement le caractère générique "%", l'opérateur LIKE fera correspondre les noms d'utilisateur commençant par "a".
Il convient de noter que PDO cite automatiquement toutes les données de chaîne lors de l'exécution de bindParam. Cela garantit que les caractères spéciaux sont traités de manière appropriée, évitant ainsi les vulnérabilités d'injection SQL.
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!