计划,每天学习两小时,坚持带来大改变。

Yii框架快速入门[数据库的使用]

技术分享 阿尤 2578浏览 0评论

使用WEB编程,另一个我们经常打交道的就是数据库。用户的数据通过表单提交给服务器,服务器根据用户请求,对数据库中数据进行CURD(增删改查)操作。

Yii数据库访问API

Yii DAO: Yii Data Access Object, 基于PHP的PDO扩展,通过提供的统一接口访问不同类型数据库。能实现数据库的所有类型的操作,效率也比较高。

AR: Active Record, AR是对所有数据库字段进行封装,一切的数据库操作都可以转化为对类对象进行的。一个AR类代表一个数据模型(一个表单或者数据表),字段作为AR的属性,一个AR实例代表表中一行。但是只能实现基本的CRUD操作,并且由于高度的封装,性能上不如使用DAO。

使用Yii操作的数据库操作

第一步:创建数据库和数据表

我们根据上一篇文章用到的表单建立相关的数据库信息,非常之简单,就不做演示。

示例数据库:yii,示例数据表:tbl_feedback。我们可以看到数据表的结构(Mysql)。

第二步:修改Yii的配置文件

编辑Yii的主配置文件protected/config/main.php,修改db配置

1
2
3
4
5
6
7
8
'db'=>array(
   'connectionString' => 'mysql:host=localhost;dbname=cms',
   'emulatePrepare' => true,
   'tablePrefix'   => 'tbl_',
   'username' => 'root',
   'password' => '123',
   'charset' => 'utf8',
)

其中,配置形式类似PDO,'tablePrefix'是指表的前缀,可以简化SQL代码编写,调用是通过{{feedback}},在SQL语句中会自动把它替换为”tbl_feedback”。

第三步:插入数据库

修改helloworld控制器的actionFeedBack。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public function  actionFeedback()
{
   $model=new  FeedbackForm;
if (isset($_POST['FeedbackForm']))
{
       $model->attributes= $_POST['FeedbackForm'];
//Command对象
$cmd=Yii::app()->db->createCommand();
       if($model->validate())
{
//插入数据库
if($cmd->insert('{{feedback}}', array(
   'fb_name'=>$model->name,
   'fb_email'=>$model->email,
   'fb_subject'=>$model->subject,
   'fb_body'=>$model->body
)))  echo '插入成功';
}            
       else print_r($model->getErrors());
}
}

其中,这种写法属于PHP的连贯操作,数据都是以预处理形式处理。

第四步:查询数据库

1
2
3
4
5
6
7
8
$result=$cmd->select('*')
   ->from('tbl_feedback')
   ->where('id>:id and fb_name=:name', array(
       ':id'=>3,
       ':name'=>'fes'
       ))
->queryRow();
var_dump($result);

其中queryRow()是执行查询操作,并返回结果的第一行。此语句等同于执行

1
SELECT* FROM`tbl_feedback` WHEREid>3 ANDname='fes'

关于数据库的其他查询如:query()、queryAll()等可以参考官方手册

第五步:更新数据库

调用CCommand的update方法即可。

第六步:删除数据库

delete()方法,不再赘述。

Yii DAO的其他数据库用法http://www.yiiframework.com/doc/guide/database.dao

Active Record :http://www.yiiframework.com/doc/guide/database.ar

至此,Yii的快速入门教程已全部整理完毕!

转载请注明:阿尤博客 » Yii框架快速入门[数据库的使用]

游客
发表我的评论 换个身份
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • 验证码 (必填)点击刷新验证码