[tp3.2.1]sql查询语句(一)

基本查询方式
    字符串条件查询,
    索引数组条件查询
    对象条件查询
    
SQL语句
大小写是一样的,
但是,执行的时候有一个小写到大写的转换,所以最好写大写

$condition=new \stdClass();//对象形式查询
stdClass是php内置类,可以理解为一个空类,这里要把条件作为字段保存到其中,
而 反斜杠\ 是将命名空间设置为  根目录, 否则会导致当前目录找不到此类。


表达式查询
    大于 小于  等于
    自定义表达式
    
格式:
    $map['字段名']=array('表达式','查询条件');
    

<?php
//  本类由系统自动生成,仅供测试用途
namespace Home\Controller;

use Think\Model;
use Think\Controller;

class IndexController  extends Controller {
     public  function index() {
        
         //  echo '<meta content-type=text/html;charset=utf-8/>';
         echo '<pre>';
        
         //  $user=new Model('User');
        
        // var_dump( $user->select());

        
         $user = M ( 'User' );
         //  var_dump($user->where('id=5 AND user="樱桃小丸子"')->select());
        
        // $condition['id']=5;
        // $condition['user']="樱桃小丸子";
        // var_dump($user->where($condition)->select());
        // //上面两条条件是AND的关系
        // $condition['_logic']="OR";
        // var_dump($user->where($condition)->select());

        
         $condition =  new \stdClass ();  //  对象形式查询
                                    // 前面的反斜杠表示按系统提供的查找std类

         $condition->id = 5;
         $condition->user = '樱桃小丸子';
         $condition->_logic = 'OR';
         var_dump (  $user->where (  $condition )->select () );
    }
     public  function query() {
         $user = M ( 'User' );
        
         echo '<pre>';
        
         //  $map['id']=array('eq',5);//这里到map1是随便起到,没有规定
        // $map['id']=array('neq',5);//id不等于5
        // $map['id']=array('gt',5);//id大于5
        // $map['id']=array('egt',5);//大于等于
        // $map['id']=array('lt',5);//小于
        // $map['id']=array('elt',5);//小于
        
        // 模糊查询,有三种
        // $map['user']=array('LIKE','%小%');//第一种,单一条件
        
        // $map['user']=array('notLIKE','%小%');//第二种, 大小写都无所谓
        // 注意,这里not like没有空格的
        
        // 多条件 模糊查询
        // $map['user']=array('like',array('%小%','%蜡%'),'and');
        
        // between - 区间查找,从m到n
        // $map['id']=array('between','5,7');//找出5到7之间的(5 6 7)
        // $map['id']=array('between',array('5','7'));//这是另一种形式
        
        // not between - 注意中间四是有一个空格的
        // $map['id']=array('not between','5,7');
        
        // in
        // $map['id']=array('in','5,6,8');
        // $map['id']=array('in',array('5','7','8'));
        
        // not in
        // $map['id']=array('not in','5,6,8');
        // $map['id']=array('not in',array('5','7','8'));
        
        // 自定义 查询 - exp

        
         $map['id']= array('exp','=5');
         $map['id']= array('exp','>10');
        
         //  构建一个复杂点的
         $map ['id'] =  array (
                'exp',
                '=5' 
        );
         $map ['user'] =  array (
                'exp',
                '="樱桃小丸子"' 
        );
         $map ['_logic'] = 'or';
        
         var_dump (  $user->where (  $map )->select () );
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值