需求是这样的:
找到数组中所有可能的指定长度的组合,要求没有重复。
我从网上找了几个比较靠谱的算法,这里对比一下。。。
方法一:
需求是这样的:
找到数组中所有可能的指定长度的组合,要求没有重复。
我从网上找了几个比较靠谱的算法,这里对比一下。。。
方法一:
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注入?
PHP本身就存在一个多维数据排序的函数
array_multisort() 函数对多个数组或多维数组进行排序,可以用来一次对多个PHP二维数组排序进行排序,或者根据某一维或多维对多维数组进行排序。
参数中的数组被当成一个表的列并以行来进行排序 – 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。
第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一:
SORT_ASC – 默认,按升序排列。(A-Z)
SORT_DESC – 按降序排列。(Z-A)
随后可以指定排序的类型: