博客列表 >1、Thinkphp 数据库 高级查询练习 2、thinkphp 请求练习

1、Thinkphp 数据库 高级查询练习 2、thinkphp 请求练习

P粉314265155
P粉314265155原创
2022年09月11日 15:36:45448浏览

Thinkphp 数据库 高级查询练习 thinkphp 请求练习

`
// 访问路径 http://bite.com/Index.php/index/two
public function two(){
// 1 where 条件
// 等号 = 如果是 =可以省略第二个参数 < > >= <=
// $user = Db::table(‘lh_user’) -> where(‘uid’,3) -> select ();

  1. // $user = Db::table('lh_user') -> where('uid', '>',3) -> select ();
  2. // print_r($user);
  3. // 1.2 模糊查询 LIKE 不是 = 不能把直接写的值 必须处理

// $user = Db::table(‘lh_user’) -> where(‘name’,’like’,’小狗’) ->select();
// print_r($user);
// % 可以代替任意的文本任意的长度 可以放到 狗的前面侯曼
// 如果不知道 查询位置 两边都要加 %
// $user = Db::table(‘lh_user’) -> where(‘name’,’like’,’%狗’) ->select();
// print_r($user);
// 1.3 notlike 模糊查询 不包含的
// $user = Db::table(‘lh_user’) -> where(‘name’,’notlike’,’%狗’) ->select();
// print_r($user);
// 1.4 BETWEEN 区间查询 notbetween 区间取反
// $user = Db::table(‘lh_user’) -> where(‘uid’,’between’,’3,10’) ->select();
// print_r($user);

// 1.5、 IN 指定查询 notin
// $user = Db::table(‘lh_user’) -> where(‘uid’,’in’,’3,4’) ->select();
// print_r($user);
// 1.6 <> 不等于
// $user = Db::table(‘lh_user’) -> where(‘uid’,’<>’,’3’) ->select();
// $user = Db::table(‘lh_user’) -> where(‘uid’,’<>’,’3,4’) ->select();
// print_r($user);

// 2、 field 返回值 只返回 uid name
// $user = Db::table(‘lh_user’) -> field(‘uid,name’) ->select();
// print_r($user);
// 可以使用数组的形式传值
// $arr= [
// ‘uid’,
// ‘name’,
// ];
// 改变下标的名称
// $arr= [
// ‘uid’ =>’dd’,
// ‘name’ => ‘me’,
// ];
// $user = Db::table(‘lh_user’) -> field($arr) ->select();
// print_r($user);

// 2.1 如果 字段比较多 其中几个不变 可以使用更加便捷的方法 withoutField 剔除一些查询数据

// $arr= [
// ‘uid’,
// ‘name’,
// ‘phone’,
// ];
// $user = Db::table(‘lh_user’) -> withoutField($arr) ->select();
// print_r($user);

// 3、 order 排序 order by 倒序 正序
// 参数 1 字段名 参数 2 排序类型 desc asc
// 倒序 从大到小
// $user = Db::table(‘lh_user’) -> order(‘uid’ ,’DESC’) ->select();
// 正序 从小到大
// $user = Db::table(‘lh_user’) -> order(‘uid’ ,’ASC’) ->select();
// 第一排序 第二排序
// $user = Db::table(‘lh_user’) -> order(‘last_time’ ,’ASC’)-> order(‘uid’ ,’ASC’) ->select();
// print_r($user);
// 4、以上学习的db 方法 可以一起使用 :链式操作
// $user = Db::table(‘lh_user’) -> field(‘uid,name’)->where (‘uid’,’>’,3) -> order(‘last_time’ ,’ASC’)-> order(‘uid’ ,’ASC’) ->select();
// print_r($user);
// 5、可以返回最后执行的 mysql原生语句 getlastSql

// $user = Db::table(‘lh_user’) -> field(‘uid,name’)->where (‘uid’,’>’,3) -> order(‘last_time’ ,’ASC’)-> order(‘uid’ ,’ASC’) ->select();
// echo Db:: getlastSql();
// echo’<hr>‘;
// print_r($user);

// 6、Db语句不执行 只返回 mysql 原生语句
// $user = Db::table(‘lh_user’) -> field(‘uid,name’)->where (‘uid’,’>’,3) -> order(‘last_time’ ,’ASC’)-> order(‘uid’ ,’ASC’)->fetchSql() ->select();
// 比如 对数据库 添加、修改、对数据可以进行修改的 语句 可以先看下语句
// print_r($user);

// 7、分页 limit
// 第一个参数 是从多少条
// 第二个参数 取出多少条
// $user =Db::table(‘lh_user’)->limit(5,3)->select();
// print_r($user);
// 1个参数 取出多少条 默认 从 uid 第一个
// $user =Db::table(‘lh_user’)->limit(3)->select();
// print_r($user);

// 得出
// $p =$_GET(‘p’); 第一次接受 0 第二次 是 $p5 ….
// $p =$p
5;
// $user =Db::table(‘lh_user’)->limit($p,5)->select();

// 8、TP自带分页 page()方法 两个参数
// 第一个 参数 第几页
// 第二个参数 取出 多少条
// 第一页
// $user =Db::table(‘lh_user’)->page(1,5)->select();
// print_r($user);
// 第二页
// $user =Db::table(‘lh_user’)->page(2,5)->select();
// print_r($user);

// 9、聚合查询
// lh_user 要知道这个表里面多少数据
// 9.1 count () 计算总共多少数据 推荐
// $user =Db::table(‘lh_user’)->count();
// print_r($user);

// php方法
// $user =Db::table(‘lh_user’)->select() -> toArray();
// echo count($user);
// print_r($user);

// 9.2 9.3 最大 最小值 max min
// 排行版 就可以用这个完成,和count()配合使用

// $user =Db::table(‘lh_user’)->max(‘uid’);
// $user =Db::table(‘lh_user’)->min(‘uid’);
// print_r($user);

// 10 、 where 多条 AND 满足左右两边的条件
// $user =Db::table(‘lh_user’)->where(‘uid’,’>’,3) ->where(‘uid’,’<’,8) -> select();
// echo Db:: getlastSql();
// print_r($user);

// $user =Db::table(‘lh_user’)->where([
// [‘uid’,’>’,3],
// [‘uid’,’<’,6]
// ]) -> select();
// echo Db:: getlastSql();
// print_r($user);

// 11、 or 提供了 whereOr方法
// 这里可以多个条件
// $user =Db::table(‘lh_user’)->where(‘uid’,’=’,3) ->whereOr(‘uid’,’=’,8) -> select();
// echo Db:: getlastSql();
// print_r($user);
// 写成数组或者 多个whereOr 都支持
// $user =Db::table(‘lh_user’)->where(‘uid’,’=’,3) ->whereOr(‘uid’,’=’,2)->whereOr(‘uid’,’=’,1) -> select();
// echo Db:: getlastSql();
// print_r($user);

// 12、时间查询 whereTime方法提供了日期和时间字段的快捷查询

// 12 、访问 其他数据库的表,多数据库操作、
// $user = Db::connect(‘dsp’)->table(‘lh_user’) ->select();
// echo Db:: getlastSql();
// print_r($user);

// 13 、数据处理
// 13.1 toArray 把返回的数据
// $user = Db::connect(‘dsp’)->table(‘lh_user’) ->select()->toArray();
// echo Db:: getlastSql();
// print_r($user);
// 13.2 isEmpty 判断 数据是否为 空
// $ret = Db::table(‘lh_user’) ->where(‘uid’,1)->select();
// 如果是对象 isEmpty 判断
// if($ret -> isEmpty()){
// echo ‘结果为空’;
// }else{
// echo ‘结果不为空’;
// }
// 如果是 数组 empty 判断
// if(empty($ret)){
// echo ‘结果为空’;
// }else{
// echo ‘结果不为空’;
// }

// 13.3 合并其他数据 merge 支持不同数据库 不同表结果的合并
// $ret1 = Db::table(‘lh_user’) ->where(‘uid’,1)->select();
// $ret2 = Db::table(‘lh_user’) ->where(‘uid’,2)->select();
// $ret = $ret1->merge($ret2);
// print_r($ret);

// 13.4 数据集 https://www.kancloud.cn/manual/thinkphp6_0/1037576
// pop 删除最后一个元素
// shift 删除第一个元素
// unshift 在开头插入一个元素

// $ret = Db::table(‘lh_user’)->select();
// print_r($ret ->where(‘uid’,2));

// 14、 name 的参数就是表名
// 与table的区别在 config/database.php 中prefix 表前缀的区别
// name 可以简写 不写表前缀 但是一定要配置
// table不能使用表前缀 ,建议使用 table 、
// $ret = Db::name(‘user’)->select();
// print_r($ret);

// time() -3060 30分钟之前的时间戳
// $time = time() -30
60 ;
// $delete = Db::table(‘lh_user’) ->where(‘last_time’,’<’,$time)->delete();

// 15、 请求 https://www.kancloud.cn/manual/thinkphp6_0/1037519
// print_r($_GET); //全局变量 安全问题未考虑
// tp 把请求做了一个类 Request 更安全 使用时 要引入门面类 use think\facade\Request;
// print_r(Request::get()) ;
// use think\Request; 普通类 需要依赖注入 new等
// use think\facade\Request; 门面类 静态的 推荐 简单方便

// print_r(Request::param())
// post可以接收 post
// http://www.bite.com/index.php/index/two 是一个简单的接口
// 我们要把php写成接口 给前端使用
// $name= Request::post();
// echo $name;
// print_r($name);
// 结果
// Array
// (
// [id] => 111
// [name] => lh
// )
// 前端人员,可能是 用户/坏人/竞争对手 不知道会给你传什么数据
// 需要自己剔除非法数字
// /d 修饰符 接收到的数值变为 整数
// /s 接收到的数值变为字符串
// /b 接收到的数值变为布尔
// /a 接收到的数值变为数组
// /f 接收到的数值变为浮点
// $post= Request::post(‘id/d’);
// print_r($post);

}

`

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议