Zend Framework数据库操作方法实例总结
在Zend Framework中,提供了多种数据库操作方法,其常用的有:Zend_Db和Zend_Db_Table两种方式。以下是这两种方式的具体使用方法详解。
1. Zend_Db方式
1.1 配置数据库信息
// 配置数据库信息
$config = array(
'host' => 'dbhost',
'username' => 'dbuser',
'password' => 'dbpassword',
'dbname' => 'dbname'
);
// 创建数据库适配器
$dbAdapter = Zend_Db::factory('PDO_MYSQL', $config);
1.2 查询操作
1.2.1 获取一行数据
$select = $dbAdapter->select()
->from('table_name')
->where('id = ?', $id);
$row = $dbAdapter->fetchRow($select);
1.2.2 获取多行数据
$select = $dbAdapter->select()
->from('table_name')
->where('gender = ?', 'M')
->order('age DESC');
$rows = $dbAdapter->fetchAll($select);
1.3 更新或删除操作
1.3.1 更新数据
$data = array(
'column1_name' => 'column1_value_new',
'column2_name' => 'column2_value_new'
);
$where = array(
$dbAdapter->quoteInto('id = ?', $id)
);
// 更新主表数据
$dbAdapter->update('table_name', $data, $where);
1.3.2 删除数据
$where = array(
$dbAdapter->quoteInto('id = ?', $id)
);
// 删除主表数据
$dbAdapter->delete('table_name', $where);
2. Zend_Db_Table方式
2.1 定义模型类
class Table_ClassName extends Zend_Db_Table_Abstract
{
protected $_name = 'table_name';
protected $_primary = 'id';
}
2.2 增、删、改、查操作
2.2.1 增加数据
$data = array(
'column1_name' => 'column1_value',
'column2_name' => 'column2_value'
);
$model = new Table_ClassName();
// 插入数据
$model->insert($data);
2.2.2 修改数据
$data = array(
'column1_name' => 'column1_value_new',
'column2_name' => 'column2_value_new'
);
$model = new Table_ClassName();
// 修改数据
$model->update($data, $model->getAdapter()->quoteInto('id = ?', $id));
2.2.3 删除数据
$model = new Table_ClassName();
// 删除数据
$model->delete($model->getAdapter()->quoteInto('id = ?', $id));
2.2.4 查询数据
$model = new Table_ClassName();
// 获取一行数据
$row = $model->fetchRow($model->select()->where('id = ?', $id));
// 获取所有数据
$rows = $model->fetchAll($model->select()->where('gender = ?', 'M')->order('age DESC'));
以上就是Zend Framework中使用Zend_Db和Zend_Db_Table两种方式进行数据库操作的实例总结。
例如,在使用Zend_Db查询操作时,我们可以根据需要使用fetchRow()或fetchAll()的方法,通过一个$select对象指定需要查询的条件和排序方式,获取主表的数据,具体代码如下:
$select = $dbAdapter->select()
->from('table_name')
->where('gender = ?', 'M')
->order('age DESC');
$rows = $dbAdapter->fetchAll($select);
另外,在使用Zend_Db_Table方式中,可以先定义一个模型类,并通过该类进行增、删、改、查操作,如下所示:
$model = new Table_ClassName();
// 插入数据
$data = array(
'column1_name' => 'column1_value',
'column2_name' => 'column2_value'
);
$model->insert($data);
// 删除数据
$model->delete($model->getAdapter()->quoteInto('id = ?', $id));
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Zend Framework数据库操作方法实例总结 - Python技术站