0x01 CDbCriteria 中的addSearchCondition 为什么比addCondition 更安全 ?...CDbCriteria中的addSearchCondition 可以防止SQL注入,而addCondition 不能,跟着我一起走进Yii框架的源码中一探究竟 1)addCondition 方法源码分析...小结:方法在更新数据前(不论是插入还是更新)都会对属性进行校验,然后在构造更新SQL的时候进行参数绑定,并且根据列的类型进行类型转换,所以是可以防止SQL注入的 0x03 CDbCriteria 中的条件属性...limit、offset 安全性分析 经常看到代码中如是写代码: CDbCriteria->limit = xxx; CDbCriteria->offset = xxx 设置好过滤条件之后,调用findAll...小结: 我们可以看到 用户传入的参数$criteria->limit、$criteria->$offset 已经被做了强制类型转换,不存在SQL注入 0x04 CDbCriteria 条件属性order
/ find()的一个例子: $post=Post::model()->find('postID=:postID', array(':postID'=>10)); // 如果查询条件很是复杂,就要使用CDbCriteria...类 $criteria = new CDbCriteria; $criteria->select='title'; $creteria->condition='postID=:postID'; $criteria...model()->with( 'author.profile', 'author.posts', 'categories')->findAll(); $criteria=new CDbCriteria
1 2 3 4 5 6 $criteria=new CDbCriteria(); $pages=new CPagination("数据库中的总记录数"); $pages->pageSize=2;...1 2 3 4 5 $criteria=new CDbCriteria(); $sort = new CSort('Post'); $sort->defaultOrder=" status asc"...1 2 3 4 5 6 7 8 9 10 11 12 13 public function search() { $criteria=new CDbCriteria; $criteria->compare
limit ="3"; $post=Post::model()->find($criteria);// $params isnot needed //多条件查询的语句 $criteria= new CDbCriteria
领取专属 10元无门槛券
手把手带您无忧上云