目录

Thinkphp查询方式的使用

普通查询方式

字符串查询`

1
$arr=$m->where("sex=0 and username='gege' ")->find();

数组

1
2
3
   $data['sex']=0;
   $data['username']='gege';
   $arr=$m->where($data)->find();

注意:这种方式默认是and的关系,如果使用or关系,需要添加数组值

1
2
3
   $data['sex']=0;
   $data['username']='gege';
   $data['_logic']='or';

表达式查询方式

1
2
   $data['id']=['lt',6]; 
   $arr=$m->where($data)->select();
  • EQ 等于
  • NEQ不等于
  • GT 大于
  • EGT大于等于
  • LT 小于
  • ELT小于等于
  • LIKE 模糊查询

LIKE

1
2
   $data['username']=['like','%ge'];
   $arr=$m->where($data)->select();

NOTLIKE

1
2
   $data['username']=['notlike','%ge%']; //notlike中间没有空格
   $arr=$m->where($data)->select();

注意:如果一个字段要匹配多个通配符

1
2
   $data['username']=['like',['%ge%','%2%','%五%'],'and'];//如果没有第三个值,默认关系是or关系
   $arr=$m->where($data)->select();

BETWEEN

1
2
3
4
5
   $data['id']=['between',[5,7]];
   $arr=$m->where($data)->select();
   //SELECT * FROM tp_user WHERE ( (id BETWEEN 5 AND 7 ) )
   $data['id']=['not between',[5,7]];//注意,not 和 between中间一定要有空格
   $arr=$m->where($data)->select();

IN

1
2
3
4
5
6
   $data['id']=['in',[4,6,7]];
   $arr=$m->where($data)->select();
   //SELECT * FROM tp_user WHERE ( id IN (4,6,7) )
   $data['id']=['not in',[4,6,7]];
   $arr=$m->where($data)->select();
   //SELECT * FROM tp_user WHERE ( id NOT IN (4,6,7) )

区间查询

1
2
3
4
      $data['id']=array(array('gt',4),array('lt',10));//默认关系是 and 的关系 
      //SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id` < 10) )
      $data['id']=array(array('gt',4),array('lt',10),'or') //关系就是or的关系
      $data['name']=array(array('like','%2%'),array('like','%五%'),'gege','or');

统计查询

  • count //获取个数
  • max //获取最大数
  • min //获取最小数
  • avg //获取平均数
  • sum //获取总和

SQL直接查询

QUERY 主要数处理读取数据的

成功返回数据的结果集,失败返回boolean false

1
2
3
   $m=M();
   $result=$m->query("select *  from t_user where id >50");
   var_dump($result);

EXECUTE 用于更新个写入操作

成功返回影响行数,失败返回boolean false

1
2
3
   $m=M();
   $result=$m->execute("insert into t_user(`username`) values('ztz3')");
   var_dump($result);