防止SQL注入的两种参数绑定方式:
第一种,使用?参数绑定
第二种(推荐),使用命名占位符进行参数绑定(salary为数据表的字段名)
生成类是由查询类方法调用的,上图的查询请求包括增删改查操作,如果是查询操作则返回查询结果集,其他操作返回受影响行数
DB.php:数据库入口文件,Qurey.php为查询类文件、Builder.php为生成类文件、Connection.php为连接器类文件
链式操作功能:快速生成查询条件的
链式操作的方法:都来自Qurey.php为查询类文件
链式操作返回的值:返回当前的查询对象
第一个查询方法不能完成查询请求就调用第二个查询方法,以此类推,直到完成所有查询条件的构造,最终生成一条符合规范的sql语句
查询构造器生产查询条件
如果上图中的表达式是相等的关系,那么这个表达式是可以省略的(相等关系是默认的)
推荐用第三种格式,叫闭包查询方式
表达式相等关系:
第二种:
第三种:闭包方式(函数中的函数,方法中的方法,总之可以简单理解为嵌套,在此处可以理解为嵌套的匿名函数)
1.普通
2.引入外部变量
(此图为上图的简写方式,姓名、工资为别名)
插入单条记录:
插入多条记录:
删除:delete不支持闭包
删除单条记录
删除多条记录:
删除全部记录:
更新单条记录:
自增:
自减:
上图setInc变为setDex
延时更新(3s后更新):避免频繁操作数据库带来的性能开销
查询某条记录的某个字段:
查询某列的值:
查询多列的值:
但是我们在开发过程中不直接操作数据库,而是通过模型来操作数据库