作者:zccst
一、Yii操作数据库的几种选择
1,PDO方式。
$sql = "";//原生态sql语句
xx::model()->dbConnection->createCommand($sql)->execute();
2,Active Record方式
(1)New
$post=new Post;
$post->title='sample post';
$post->content='post body content';
$post->save();
(2)Criteria方式
也可以使用 $condition 指定更复杂的查询条件。 不使用字符串,我们可以让 $condition 成为一个 CDbCriteria 的实例,它允许我们指
定不限于 WHERE 的条件。
$criteria=new CDbCriteria;
$criteria->select='title'; // 只选择 'title' 列
$criteria->condition='postID=:postID';
$criteria->params=array(':postID'=>10);
$post=Post::model()->find($criteria);
一种替代 CDbCriteria 的方法是给 find 方法传递一个数组。 数组的键和值各自对应标准(criterion)的属性名和值,上面的例子可以重
写为如下:
$post=Post::model()->find(array(
'select'=>'title',
'condition'=>'postID=:postID',
'params'=>array(':postID'=>10),
));
当一个查询条件是关于按指定的值匹配几个列时,我们可以使用 findByAttributes()。我们使 $attributes 参数是一个以列名做索引的值
的数组。在一些框架中,此任务可以通过调用类似 findByNameAndTitle 的方法实现。虽然此方法看起来很诱人, 但它常常引起混淆,冲突
和比如列名大小写敏感的问题。
3,Query Builder 方式
$user = Yii::app()->db->createCommand()
->select('id, username, profile')
->from('tbl_user u')
->join('tbl_profile p', 'u.id=p.user_id')
->where('id=:id', array(':id'=>$id))
->queryRow();
二、Yii操作数据库的几种选择与mysql_escape_string方法
mysql_escape_string是转义sql中的特殊字符。
1,创建记录时
当直接执行sql时,需要加mysql_escape_string方法。
当使用yii框架式,不需要加(因为Yii已经添加验证)。
2,查询记录时
当直接执行sql时,需要加mysql_escape_string方法。
当使用yii框架式,如果在find中直接拼接sql,则也需要添加,如果使用param数组方式,不需要加(因为Yii已经添加验证)。
分享到:
相关推荐
2. **ActiveRecord**:Yii的ORM(对象关系映射)层,使开发者能以面向对象的方式操作数据库记录,简化了数据库操作。 3. **Gii代码生成器**:Gii是一个自动生成代码的工具,可以帮助快速生成CRUD(创建、读取、更新...
Yii框架数据库操作分享ppt (Mac版,windows需转换格式)
在PHP开发领域,Yii框架是一个高效且灵活的开源框架,特别适合用于构建Web 2.0应用程序。在Yii中,数据库操作是核心功能之一,它提供了丰富的API...在实际开发中,开发者可以根据具体需求选择合适的方式来操作数据库。
为了更好地管理和跟踪这些变更,YII 2框架提供了一个非常实用的功能——数据库迁移(Migrations)。数据库迁移可以帮助开发者在不影响现有数据的情况下,对数据库结构进行更改。 #### 二、YII 2数据库迁移的基本操作 ...
2. 数据库支持:Yii支持多种数据库,包括MySQL、PostgreSQL、SQLite等,还提供了ActiveRecord模式,方便进行数据操作。 3. 缓存管理:内置了多种缓存策略,如文件缓存、APC缓存、Memcached和Redis,可以有效提升应用...
重要的是要理解MySQL复制机制的细节,以及YII2框架提供的数据库访问方式,确保读写分离能够稳定运行,同时也要注意数据一致性的问题,确保主从数据库的同步能够正确执行,避免因为数据不同步导致的业务问题。
2. **ActiveRecord**:这是Yii的一个强大特性,它允许开发者以面向对象的方式操作数据库,极大地简化了数据操作代码。在博客系统中,你可以创建如`Post`和`Comment`这样的ActiveRecord类,对应博客文章和评论表,...
《Yii框架深度剖析》配套代码 本书不是简单地介绍如何使用 Yii 框架,而是站在框架设计的高度,从源代码级别深 度剖析。本书首先介绍 PHP 框架技术的概念及其应用领域,然后开始仿照 Yii 框架源代码 自定义框架,...
你可以直接通过对象属性来操作数据库记录,无需编写复杂的SQL语句。同时,Yii还支持数据访问对象(DAO)方式,为更复杂的数据操作提供了灵活性。 六、表单处理 Yii提供了强大的表单处理功能,包括自动验证和错误...
2. **Migrations**:Yii的迁移功能允许开发者以版本控制的方式管理数据库结构的变更,方便团队协作。 3. **Extension管理**:Yii社区提供了大量高质量的扩展,如图库管理、支付接口等,可通过Yii的扩展管理工具轻松...
Yii Yii框架 Yii框架快速入门,自己整理的很全的,很容易看懂
很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架
Yii框架支持的操作系统和环境要求包括: - PHP 5.1.0或更高版本,Yii框架对PHP版本有最低要求,以确保框架功能的正常使用。 - Yii框架在Windows和Linux系统上的Apache HTTP服务器中进行了测试,同时理论上应该支持...
文档通常会涵盖框架的基础知识,如MVC(模型-视图-控制器)架构、数据库操作、表单处理、安全特性、缓存策略、用户认证和授权等。CHM文件是一种常见的Windows帮助文件格式,方便用户离线查阅。 “yii框架中文手册...
PDO提供了一种统一的方式来访问多种流行的数据库管理系统,如MySQL、PostgreSQL等。 **2. Yii DAO的核心类** Yii DAO主要由以下几个核心类组成: - `CDbConnection`:表示到数据库的连接。 - `CDbCommand`:表示...
Yii支持多种数据库,包括MySQL、PostgreSQL、SQLite和Oracle等。它采用ActiveRecord设计模式,使得数据库操作更加简便直观。ActiveRecord将数据库表映射为对象,使得数据库操作就像操作对象属性一样简单。 六、...
本文实例讲述了Yii 框架使用数据库(databases)的方法。分享给大家供大家参考,具体如下: 配置数据库连接 ¶ 开始之前,请确保你已经安装了 PHP PDO 扩展和你所使用的数据库的 PDO 驱动(例如 MySQL 的 pdo_mysql)...
### Yii框架知识点总结 #### 一、概述与新特性 **Yii** 是一款高性能的PHP Web应用程序开发框架,以其简洁高效著称。该框架旨在帮助开发者快速构建安全且高效的Web应用。本文档根据官方中文文档及《Yii权威指南》...