Problème avec l'instruction de requête floue mysql en php ?

coldplay.xixi
Libérer: 2023-03-03 09:34:02
original
2980 Les gens l'ont consulté

Instruction de requête floue MySQL en PHP : 1. [%] représente 0 ou plusieurs caractères, qui peuvent correspondre à n'importe quel type et longueur de caractères ; 2. [_] représente n'importe quel caractère unique, qui peut correspondre à n'importe quel caractère ; caractère ;3. [[]] spécifie un caractère, une chaîne ou une plage et requiert que l'objet correspondant soit l'un d'entre eux.

Problème avec l'instruction de requête floue mysql en php ?

Les instructions de requête floue MySQL en php sont :

Les instructions de requête floue générales sont les suivantes :

SELECT 字段 FROM 表 WHERE 某字段 Like 条件
Copier après la connexion

Concernant les conditions, SQL propose quatre modes de correspondance :

1, % : représente 0 ou plusieurs caractères. Peut correspondre à des caractères de n'importe quel type et longueur. Dans certains cas, s'il s'agit de chinois, veuillez utiliser des signes de deux pour cent (%%) pour l'exprimer.

Par exemple,

SELECT * FROM [user] WHERE u_name LIKE '%三%'
Copier après la connexion

trouvera tous les enregistrements avec "trois" dans u_name "Zhang San", "Zhang Cat San", "Three-legged Cat", "Tang Sanzang", etc. .

De plus, si vous avez besoin de trouver des enregistrements contenant à la fois "三" et "cat" dans u_name, veuillez utiliser la condition et

SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
Copier après la connexion

Si vous utilisez

SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'
Copier après la connexion

, vous pouvez rechercher "Chat à trois pattes" a été trouvé, mais "Zhang Cat San" qui remplissait les conditions n'a pas pu être recherché.

2, _ : représente n'importe quel caractère. Correspond à un seul caractère arbitraire. Il est souvent utilisé pour limiter la longueur des caractères des expressions :

Par exemple,

SELECT * FROM [user] WHERE u_name LIKE '_三_'
Copier après la connexion

ne trouve que "Tang Sanzang", donc u_name comporte trois caractères et le caractère du milieu est de trois caractères. "三";

Un autre exemple est

 SELECT * FROM [user] WHERE u_name LIKE '三__';
Copier après la connexion

recherchez uniquement "chat à trois pattes" de telle sorte que le nom ait trois caractères et que le premier caractère soit "三" ; 3, [ ] : Indique l'un des caractères répertoriés entre parenthèses (semblable à une expression régulière). Spécifiez un caractère, une chaîne ou une plage, exigeant que l'objet correspondant soit l'un d'entre eux.

Par exemple,

SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
Copier après la connexion

trouvera "Zhang San", "Li San", "Wang San" (au lieu de "Zhang Li Wang San"

tel) ; car [ ] contient une série de caractères (01234, abcde, etc.), qui peuvent être abrégés en "0-4", "a-e"

SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
Copier après la connexion

trouvera "old 1", "old 2", ..., "Old 9" ;

4, [^] : représente un seul caractère non répertorié entre parenthèses. Sa valeur est la même que celle de [], mais elle nécessite que l'objet correspondant soit un caractère autre que le caractère spécifié.

Par exemple,

SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
Copier après la connexion

trouvera "Zhao San", "Sun San", etc. qui ne sont pas nommés "Zhang", "Li", "Wang"

SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
Copier après la connexion
 ;

exclura "Old 1" à "Old 4", recherchera "Old 5", "Old 6", ...

5, lorsque le contenu de la requête contient des caractères génériques

En raison des caractères génériques, l'instruction de requête pour les caractères spéciaux "%", "_" et "[" ne peut pas être implémentée normalement. Cependant, les caractères spéciaux peuvent être interrogés normalement s'ils sont placés entre "[ ]". Sur cette base, nous avons écrit la fonction suivante :

function sqlencode(str)
str=replace(str,"[","[[]") '此句一定要在最前
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function
Copier après la connexion

Recommandations d'apprentissage associées :
Programmation PHP de l'entrée à la maîtrise

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal