# thinkphp はどのようにしてデータベースにクエリを実行しますか?
データベース クエリ
ThinkPHP には、データ クエリ操作を迅速に実行できる非常に柔軟なクエリ メソッドが組み込まれています。 クエリ条件は、CURD などのあらゆる操作に使用でき、where メソッドのパラメータとして渡すことができます。 ThinkPHP はクエリ条件として文字列の直接使用をサポートできますが、ほとんどの場合、より安全であるため、クエリ条件としてインデックス配列またはオブジェクトを使用することをお勧めします。クエリ方法
1. クエリ条件として文字列を使用する
これは最も伝統的な方法ですが、より安全です。たとえば、高くありません。$User = M("User"); // 实例化User对象 $User->where('type=1 AND status=1')->select();
SELECT * FROM think_user WHERE type=1 AND status=1
です。 2. クエリ条件として配列を使用します。
$User = M("User"); // 实例化User对象 $condition['name'] = 'thinkphp'; $condition['status'] = 1; // 把查询条件传入查询方法 $User->where($condition)->select();
SELECT * FROM think_user WHERE 'name'='thinkphp' AND status=1
$User = M("User"); // 实例化User对象 $condition['name'] = 'thinkphp'; $condition['account'] = 'thinkphp'; $condition['_logic'] = 'OR'; //定义查询逻辑 // 把查询条件传入查询方法 $User->where($condition)->select();
SELECT * FROM think_user WHERE 'name'='thinkphp' OR `account`='thinkphp'
3. オブジェクト メソッドを使用してクエリを実行します (ここでは、stdClass 組み込みオブジェクトを例にします) )
$User = M("User"); // 实例化User对象 // 定义查询条件 $condition = new stdClass(); $condition->name = 'thinkphp'; $condition->status= 1; $User->where($condition)->select();
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
式クエリ
上記のクエリ条件は単純な等価判定です。クエリ式は、より多くの SQL クエリ構文をサポートするために使用でき、配列内のクエリやクエリとして使用できます。オブジェクト モード (以下の例では配列モードのみが使用されています) の場合、クエリ式の形式は次のとおりです:$map['字段名'] = array('表达式','查询条件');
#
$map['id'] = array('eq',100); id = 100; $map['id'] = array('egt',100);id >= 100 $map['name'] = array('like','thinkphp%'); name like 'thinkphp%' 模糊查询 $map['a'] =array('like',array('%thinkphp%','%tp'),'OR');$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND'); (a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')
http://www.php.cn/phpkj/thinkphp /
以上がthinkphp がデータベースにクエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。