Lorsque vous utilisez ThinkPHP pour une requête de données floues, il est souvent nécessaire d'utiliser le signe de pourcentage (%) pour la correspondance par caractère générique afin d'obtenir une recherche plus précise. Cet article explique comment utiliser correctement le signe de pourcentage pour implémenter des requêtes floues.
Lorsque vous utilisez la méthode like() pour une requête floue, vous devez transmettre le signe de pourcentage en tant que paramètre à la méthode. Par exemple, si vous souhaitez interroger les informations d'un utilisateur dont le nom d'utilisateur commence par « a », vous pouvez utiliser le code suivant :
$userList = Db::table('user')->where('username', 'like', 'a%')->select();
Dans cet exemple, nous passons « a% » à la méthode like(), indiquant que nous voulons interroger tous les utilisateurs Informations utilisateur dont le nom commence par "a".
Si nous devons réellement interroger des données contenant le caractère de signe de pourcentage, nous devons y échapper à l'aide d'un caractère d'échappement, sinon une erreur d'instruction SQL se produira. Dans ThinkPHP, utilisez la barre oblique inverse "" pour échapper aux signes de pourcentage.
Par exemple, si nous voulons interroger des informations utilisateur contenant la chaîne "%abc%", nous pouvons utiliser le code suivant :
$userList = Db::table('user')->where('username', 'like', '%abc%')->select();
Dans cet exemple, nous utilisons des barres obliques inverses pour échapper au signe de pourcentage, évitant ainsi les erreurs d'instruction SQL.
Si nous voulons interroger des données contenant le caractère de pourcentage et que nous ne voulons pas échapper manuellement au signe de pourcentage à chaque fois, nous pouvons utiliser la méthode escape() pour échapper automatiquement la chaîne de caractères.
Par exemple, si nous voulons interroger les informations utilisateur contenant la chaîne "%abc%", nous pouvons utiliser le code suivant :
$keyword = '%abc%'; $escapedKeyword = Db::escapeLikeStr($keyword); $userList = Db::table('user')->where('username', 'like', $escapedKeyword)->select();
Dans cet exemple, nous utilisons la méthode escape() pour supprimer automatiquement le caractère de signe de pourcentage dans $keyword Échappe vers la forme "%", évitant ainsi l'opération fastidieuse d'échappement manuel.
Résumé
Lorsque vous utilisez ThinkPHP pour des requêtes floues, il est très important d'utiliser correctement le signe de pourcentage. Grâce à l'introduction ci-dessus, nous pouvons maîtriser trois méthodes d'utilisation du signe pour cent, à savoir l'utilisation du signe pour cent dans la méthode like(), l'utilisation de caractères d'échappement pour échapper au signe pour cent et l'utilisation de la méthode escape() pour échapper automatiquement les chaînes. J'espère que cet article vous sera utile.
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!