Yii的关联查询确实是一个方便的东西,网上的资料也很多,但是大部分都是Ctrl+c,Ctrl+v,有些东西一直没有人出来详细的写篇文章说明一下,在参考了网上很多资源以后,加上自己的的一些理解,写下了这篇博客,给广大初学者朋友们指点一下迷津。
借鉴一点别人的东西。。。
YII 支持四种类型的关系:
Yii的关联查询确实是一个方便的东西,网上的资料也很多,但是大部分都是Ctrl+c,Ctrl+v,有些东西一直没有人出来详细的写篇文章说明一下,在参考了网上很多资源以后,加上自己的的一些理解,写下了这篇博客,给广大初学者朋友们指点一下迷津。
借鉴一点别人的东西。。。
YII 支持四种类型的关系:
需求是这样的:
找到数组中所有可能的指定长度的组合,要求没有重复。
我从网上找了几个比较靠谱的算法,这里对比一下。。。
方法一:
CDbConnection: 一个抽象数据库连接
CDbCommand: SQL statement
CDbDataReader: 匹配结果集的一行记录
CDbTransaction:数据库事务
访问数据库前需要建立数据库连接;使用DAO建立一个抽象数据库链接:
这篇就是Yii中使用CDbCriteria方法来进行查询的各种条件:
PHP有着很好的curl机制,但是用起来总是不那么的令人满意,因为它需要好几步的操作和,好多难记的参数,这里我将php的curl封装了一下,使它不那么的复杂:
可能存在两个活动记录对象之间的关系有四种类型:
除了上述的关系类型,还支持一种特殊的关系称为STAT,可以用来进行统计查询(或聚合查询)。它检索聚合对相关对象的信息,如每个帖子,对于每个产品,平均分数为注释的数目等。
在实际项目中,有时候会遇到远程接收到的编码,或者数据库里取出的编码与实际文件编码不一致的情况,这样就非常容易出现乱码,如果简单的用iconv函数转码的话,有时又无法保证对方传过来的一定是某种编码。
举个例子:我现在的项目开发编码是GBK,而又有很多地方需要用JSON来接收、发送数据,接收到的数据一定是UTF-8编码(非UTF-8中文无法encode和decode),但我需要把接收来的数据用在我们的系统中,这样就必须转码一次,当我们需要发送JSON数据给其他接收者的时候,又必须将编码从GBK转成UTF-8。超级麻烦,而且极易出错,因为我们无法特别准确的定位文本现在的编码。于是诞生了下面两个函数。
如果用户输入的数据在未经处理的情况下插入到一条SQL查询语句,那么应用将很可能遭受到SQL注入攻击,正如下面的例子:
|
1
2
3
|
$unsafe_variable=$_POST[‘user_input’];
mysql_query(“INSERT INTO `table` (`column`) VALUES (‘”.$unsafe_variable.”‘)”);
|
因为用户的输入可能是这样的:
|
1
|
value’); DROP TABLE table;–
|
那么SQL查询将变成如下:
|
1
|
INSERTINTO`table` (`column`)VALUES(‘value’);DROPTABLEtable;–‘)
|
应该采取哪些有效的方法来防止SQL注入?