Dans thinkphp, la méthode Where est utilisée pour filtrer les résultats des opérations de base de données. C'est l'une des méthodes d'opération cohérentes de la classe modèle. Elle peut compléter des requêtes comprenant des requêtes ordinaires, des requêtes d'expression, des requêtes rapides, des requêtes par intervalles et des requêtes combinées. requêtes. Opération, la syntaxe est "instancier l'objet->where('condition');".
L'environnement d'exploitation de cet article : système Windows 10, ThinkPHP version 6, ordinateur Dell G3.
La méthode Where peut être utilisée pour filtrer les résultats des opérations de base de données. C'est-à-dire la clause Where dans l'instruction de requête SQL.
Aujourd'hui, je vais vous parler de la méthode d'interrogation Where la plus couramment utilisée mais aussi la plus complexe. La méthode Where est également l'une des méthodes de fonctionnement cohérentes de la classe de modèle et est principalement utilisée pour interroger et définir les conditions de fonctionnement.
L'utilisation de la méthode Where est l'essence du langage de requête ThinkPHP et une partie importante et un point fort de ThinkPHP ORM. Elle peut effectuer des opérations de requête, notamment une requête ordinaire, une requête d'expression, une requête rapide, une requête par intervalle et une requête combinée. Les paramètres de la méthode Where prennent en charge les chaînes et les tableaux. Bien que les objets puissent également être utilisés, cela n'est pas recommandé.
Conditions de chaîne
Utilisez des conditions de chaîne pour interroger et opérer directement, par exemple :
$User = M("User"); // 实例化User对象 $User->where('type=1 AND status=1')->select();
L'instruction SQL finale générée est
SELECT * FROM think_user WHERE type=1 AND status=1
Si vous utilisez la version 3.1 ou supérieure, lorsque vous utilisez des conditions de chaîne, il est recommandé de coopérer avec mécanisme de prétraitement pour assurer plus de sécurité, par exemple :
$Model->where("id=%d and username='%s' and xx='%f'",array($id,$username,$xx))->select();
ou utilisez :
$Model->where("id=%d and username='%s' and xx='%f'",$id,$username,$xx)->select();
Si la variable $id provient de la soumission de l'utilisateur ou de l'adresse URL, si l'entrée est de type non numérique, elle sera forcée d'être formatée dans un format numérique avant d'interroger.
Le type de format de prétraitement de chaîne prend en charge la spécification de nombres, de chaînes, etc. Pour plus de détails, veuillez vous référer à la description des paramètres de la méthode vsprintf.
Condition du tableau
L'utilisation où de la condition du tableau est l'utilisation recommandée par ThinkPHP.
Requête normale
La méthode de requête de tableau la plus simple est la suivante :
$User = M("User"); // 实例化User对象 $map['name'] = 'thinkphp'; $map['status'] = 1; // 把查询条件传入查询方法 $User->where($map)->select();
L'instruction SQL finale générée est
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!