ThinkPhp5控制器中的查询操作
小小知识点:
1、原生sql查询语句 query
//query 返回一个二维数组//如果插入不成功则直接报错
//query 如果结果不存在返回一个空数组
$db = Db::query("select * from user where id=?",['1']);
2、原生sql插入语句 execute
//返回影响行数 init 1
//如果插入不成功则直接报错
$db = Db::execute("insert into user user set username=?,password=?"
,['我是username的问号','我是password的问号']);
3、Db类 select 方法
//select 返回的结果是一个二维数组
//select 如果结果不存在返回空数组
Db::table('表名')->where(['id'=>'1'])->select();
4、Db类 find方法
//find方法 返回一条数据 是一个一维数组
//如果直接使用不带where条件则自动默认按照id正序排列的第一条最小的在前面
//结果不存在返回 null
Db::table('表名')->where(['id'=>'1'])->find();
5、Db类 value方法
//value方法返回一条记录
//返回一个和你数据库字段类型一样类型
//的数据就是该字段的值
//如果没有where条件则自动默认按照id正序排列的第一条最小的在前面
//如果没有该字段就报错
Db::table('表名')->where(['id'=>'1'])->value('字段名');
6、Db类 column方法
//不加where条件查询所有
//返回一个一维数组 数组中value值就是username字段的数据
//array(4) {
//[0] => string(4) "test"
//[1] => string(5) "test2"
//[2] => string(5) "test3"
//[3] => string(6) "测试"
//}
//如果查询不出来则返回空数组
//如果没有该字段则报错
Db::table('表名')->column('username');
//column里面写两个参数的话 column('id','username');
Db::table('表名')->column('id','username');
//返回的一维数组
//第一个参数id作为数组的键 username作为该键的值
//结果不存在返回空数组
扩充知识:
Db::name(表名不写表前缀)->select();
也可以这么写
db('表名不写表前缀')->select();
如果不想每次都重新链接数据库
db('表名不写表前缀', [] , false)->select();