yii之Active Record

Active Record

至于什么是AR,以及yii中AR的大致使用方法,这里不做笔墨,可参见yiiframework官方文档,在这里只是想对yii中的AR使用方法做一点示例,因为官方给出了方法,但是例子稍微逊色,自己趁练习之余笔记下来.

yii AR官方文档地址:    Active Record

为了做测试,创建了一张user表,共3个字段,并且插入了4条数据.如下:

01 CREATE TABLE IF NOT EXISTS `user` (
02 `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘用户id’,
03 `username` char(30) NOT NULL COMMENT ‘用户名’,
04 `pwd` char(32) NOT NULL COMMENT ‘用户密码’,
05 PRIMARY KEY (`id`)
06 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
07
08 INSERT INTO `user` (`id`, `username`, `pwd`) VALUES
09 (1, ‘liangqi’, ‘123456′),
10 (2, ‘godsee’, ‘654321′),
11 (3, ‘webkit4′, ‘webkit4′),
12 (4, ‘yatou’, ‘hello_test’);

find($condition,$params) 找出匹配条件的一行数据,如果使用给定的查询条件在数据库中没有找到任何东西,null

调用 find 时,我们使用 $condition 和 $params 指定查询条件。此处 $condition 可以是 SQL 语句中的 WHERE 字符串,$params 则是一个参数数组,其中的值应绑定到 $condation 中的占位符。

1, 如果不加参数,会找出主键id=1的行数据

code:

1 $user = User::model()->find();
2 echo $user->id.’<br />’;
3 echo $user->username.’<br />’;
4 echo $user->pwd;

输出结果

1 1
2 liangqi
3 123456

2, 可以传入$condition条件,此参数,代表的是SQL语句中的WHERE条件

01 $user = User::model()->find(’id = 2′);
02 echo $user->id.’<br />’;
03 echo $user->username.’<br />’;
04 echo $user->pwd;
05 echo ‘################<br />’;
06
07 //查找id=3 ,username=”webkit4″
08 $user = User::model()->find(’id = 3 AND username=”webkit4″‘);
09 echo $user->id.’<br />’;
10 echo $user->username.’<br />’;
11 echo $user->pwd;

输出结果

1 2
2 godsee
3 654321
4 ################
5 3
6 webkit4
7 webkit4

不过直接为条件赋值,是不推荐的,最好的方式是使用预处理语句,绑定参数变量,作为占位符.使用的预处理的查询速度更快,并且可以防止SQL注入,所以官网文档推荐一下条件查找:

01 //查找id=1的行
02 $user = User::model()->find('id=:userId',array(’:userId’=>1));
03 echo $user->id.'<br />';
04 echo $user->username.'<br />';
05 echo $user->pwd;
06 echo '################<br />';
07
08 //查找id=3 ,username="webkit4"的行
09 $user = User::model()->find(
10                        'id=:userId AND username=:username',
11                        array(
12                             ':userId'=>3,
13                             ':username'=>’webkit4′
14                             )
15                        );
16 echo $user->id.'<br />';
17 echo $user->username.'<br />';
18 echo $user->pwd;

输出结果

1 1
2 liangqi
3 123456
4 ################
5 3
6 webkit4
7 webkit4
相关文章: 

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments

还没有评论。

发表评论

(必填)

(必填)