从这节开始学习TP框架怎么操作数据库。这部分内容也很多,楠神只介绍一部分,也是我常用的一部分知识,足可以玩转TP框架的数据库操作。
首先对database.php文件做下配置,
“phpnanshen”数据库里目前有个“php_user_info”表
下面开始演示对此表的数据集查询:
1)查询所有数据时:
对象->select();
说明:
这个对象可以是数据库对象,也可以是模型对象。推荐大家用模型对象对数据库操作,这节楠神先不讲模型对象,先讲数据库对象。
数据库对象获取的三种方式:
①Db类的table静态方法、②name静态方法、③db函数
演示:
这三种方式都正常执行了SQL语句“SELECT * FROM `php_user_info`”。
如果获取数据库对象,推荐大家用db函数。
注意:有个地方说明下,如果使用的TP框架是5.0.9以下版本,db函数要这样使用db('user_info',[],false),当前楠神使用的版本是5.0.13版本。原因是:
2)查询所有行的某几个字段
对象->field(字段字符串)->select();
字段字符串默认是“*”。
演示:
3)带条件查询
对象->field(字段字符串)->where(条件参数)->select();
说明:
where方法的参数有很多种,常见的有:
where('条件字符串');//一般不推荐
where('字段名','值');//
where('字段名','表达式','查询条件');
where(['字段名'=>'值']);//多个条件推荐用这个
更详细的介绍去看官方手册,楠神在这就不对这个方法做更多说明了。
演示:
SQL语句的其他操作楠神不演示了,每一种操作都会有一个方法,比如排序用order方法,加锁读取用lock方法。楠神前面写的一个小框架,Db类的方法都是比照着TP框架写的。
额外说明:
select 方法查询结果存在,返回的是二维数组;不存在,返回空数组。
楠神觉着返回空数组是很好的。因为我们通常用select查询完数据,紧接着常用foreach遍历数组。回顾《第四章28节内容》,foreach只有在遍历的是数组变量的时候才不会报错。