Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
// 1.where 条件查询 = > < >= <= <>
// 1.1 = 等于
$res = Db::table('user')->where('id', '=', 2)->select();
print_r($res);
// 1.2 > 大于
$res = Db::table('user')->where('id', '>', 2)->select();
print_r($res);
// 1.3 < 小于
$res = Db::table('user')->where('id', '<', 2)->select();
print_r($res);
// 1.4 >= 大于等于
$res = Db::table('user')->where('id', '>=', 2)->select();
print_r($res);
// 1.5 <= 小于等于
$res = Db::table('user')->where('id', '<=', 2)->select();
print_r($res);
// 1.6 <> 不等于
$res = Db::table('user')->where('id', '<>', 2)->select();
print_r($res);
// 2.模糊查询和模糊取反
// 2.1 模糊查询 like
$ret = Db::table('user')->where('name', 'like', '%于%')->select();
print_r($ret);
// 2.1 模糊查询取反 notlike
$ret = Db::table('user')->where('name', 'notlike', '%于%')->select();
print_r($ret);
// 3.区间查询和区间取反
// 3.1 区间查询 between
$ret = Db::table('user')->where('id', 'between', '2,8')->select();
print_r($ret);
// 3.2 区间去反查询 notbetween
$ret = Db::table('user')->where('id', 'notbetween', '2,8')->select();
print_r($ret);
// 4.指定查询和指定取反
// 4.1 指定查询 in
$ret = Db::table('user')->where('id', 'in', '2,8,15')->select();
print_r($ret);
// 4.2 指定取反查询 notin
$ret = Db::table('user')->where('id', 'notin', '2,8,15')->select();
print_r($ret);
// 5.返回要查询的字段field
// 使用关联数组的话 相当于起别名 类似mysql中的as
$arr=[
'id'=>'xuhao',
'name'=>'xingmin'
];
$ret = Db::table('user')->field($arr)->where('id', 'in', '2,8,15')->select();
print_r($ret);
// 6. 返回不需要查询的字段 withoutField
$arr = [
'password', 'add_time', 'last_time', 'status'
];
$ret = Db::table('user')->withoutField($arr)->where('id', 'in', '2,8,15')->select();
print_r($ret);
// 7.排序查询 order
// 关键字 DESC:降序 ASC:升序
$ret = Db::table('user')->order('add_time','DESC')->order('id','DESC')->select();
print_r($ret);
// 8.getLastSql()和fetchSql()
// 8.1 getLastSql()返回最后执行的sql语句
echo Db::getLastSql();
// 8.2 fetchSql() 返回当前执行的sql语句
$ret = Db::table('user')->order('add_time', 'DESC')->order('id', 'DESC')->fetchSql()->select();
print_r($ret);
// 9.条件查询and和or
// 9.1 and:两个以上的where链式操作 表示and
// 返回满足两个条件的数据
$ret = Db::table('user')->where('id', '=', 2)->where('name', '=', '米粒')->select();
print_r($ret);
// 9.2 or:一个以上的whereOr链式操作 表示or
// 返回满足其中一个条件的数据
$ret = Db::table('user')->where('id', '=', 1)->whereOr('name', '=', '米粒')->select();
print_r($ret);
// 10.分页查询 在做分页查询的时候建议使用page()方法
// 10.1 limit() 参数1:从第几条开始 参数2:条数
// 从索引为5的数据为起点 向后查询5条数据
$ret = Db::table('user')->limit(5, 5)->select();
print_r($ret);
// 10.2 page() 参数1:第几页 参数2:条数
// 查询第二页的5条数据
$ret = Db::table('user')->limit(2, 5)->select();
print_r($ret);
// 11.聚合查询
// 11.1 count() 统计user表有多少条数据
$ret = Db::table('user')->count();
print_r($ret);
// 11.2 min()最小值 查询最小的id
$ret = Db::table('user')->min('id');
print_r($ret);
// 11.3 max()最大值 查询最大的id
$ret = Db::table('user')->max('id');
print_r($ret);
database.php
文件connections
内添加数据源,其中mysql时默认的 test是新增的数据源,需要在database指定test数据库
// 数据库连接配置信息
'connections' => [
//默认数据源
'mysql' => [
// 数据库类型
'type' => env('database.type', 'mysql'),
// 服务器地址
'hostname' => env('database.hostname', '127.0.0.1'),
// 数据库名
'database' => env('database.database', 'tpstudy'),
// 用户名
'username' => env('database.username', 'root'),
// 密码
'password' => env('database.password', 'root'),
// 端口
'hostport' => env('database.hostport', '3306'),
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => env('database.charset', 'utf8'),
// 数据库表前缀
'prefix' => env('database.prefix', ''),
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 是否需要断线重连
'break_reconnect' => false,
// 监听SQL
'trigger_sql' => env('app_debug', true),
// 开启字段缓存
'fields_cache' => false,
],
// 更多的数据库配置信息
// 添加test数据源
'test' => [
// 数据库类型
'type' => env('database.type', 'mysql'),
// 服务器地址
'hostname' => env('database.hostname', '127.0.0.1'),
// 数据库名 指定为test
'database' => env('database.database', 'test'),
// 用户名
'username' => env('database.username', 'root'),
// 密码
'password' => env('database.password', 'root'),
// 端口
'hostport' => env('database.hostport', '3306'),
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => env('database.charset', 'utf8'),
// 数据库表前缀
'prefix' => env('database.prefix', ''),
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 是否需要断线重连
'break_reconnect' => false,
// 监听SQL
'trigger_sql' => env('app_debug', true),
// 开启字段缓存
'fields_cache' => false,
],
],
test
数据库中user
表内的数据
$ret = Db::connect('test')->table('user')->select();
print_r($ret);
// 引入Request静态类
use think\facade\Request;
// 1.获取get请求数据
print_r(Request::get());
echo '<br>';
// 2.获取get请求数据的某一个值
print_r(Request::get('name'));
echo '<br>';
使用apipost
模拟post请求
// 1.获取post请求数据
print_r(Request::post());
// 2.获取post请求数据的某一个值
print_r(Request::post('username'));
apipost下载地址: https://www.apipost.cn/?utm_source=10120