快速业务通道

Zend Framework 数据库总结[原创]

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-23
ry用法
//function query($sql, $bind = array())
$db = $this->getAdapter();
$result = $db->query(''SELECT * FROM `m_video`'');
//$result = $db->query(''SELECT * FROM `m_video` WHERE `name` = ? AND id = ?'',array(''十二生肖奇缘'', ''1''));
//$result->setFetchMode(Zend_Db::FETCH_OBJ);//FETCH_OBJ为默认值,FETCH_NUM,FETCH_BOTH
//while ($row = $result->fetch()) {
//    echo $row[''name''];
//}
//$rows = $result->fetch();
//$rows = $result->fetchAll();
//$obj = $result->fetchObject();//echo $obj->name;
// echo $Column = $result->fetchColumn(0);//得到结果集的第一个字段,比如0为id号,用于只取一个字段的情况
print_r($rows);
select用法
$db = $this->getAdapter();
$select = $db->select();
$select->from(''m_video'', array(''id'',''name'',''clicks''))
->where(''is_guo = :is_guo and name = :name'')
->order(''name'')// 按什么排序列,参加为数组(多个字段)或字符串(一个字段)
->group()//分组
->having()//分组查询数据的条件
->distinct()// 无参数,去掉重复的值。有时候与groupby返回的结果一样
->limit(10);
// 读取结果使用绑定的参数
$params = array(''is_guo'' => ''1'',''name''=>''十二生肖奇缘'');
//$sql = $select->__toString();//得到查询语句,可供调试
$result = $db->fetchAll($select,$params);
执行select的查询
$stmt = $db->query($select);

$result = $stmt->fetchAll();
或用
$stmt = $select->query();
$result = $stmt->fetchAll();
如果直接用
$db->fetchAll($select)结果一样
多表联合查询用法
$db = $this->getAdapter();
$select = $db->select();
$select->from(''m_video'', array(''id'',''name'',''pic'',''actor'',''type_id'',''up_time''))
->where(''is_guo = :is_guo and is_jian = :is_jian'')
->order(''up_time'')
->limit(2);
$params = array(''is_guo'' => ''1'',''is_jian''=>''1'');
$select->join(''m_type'', ''m_video.type_id = m_type.t_id'', ''type_name'');//多表联合查询
$videoArray = $db->fetchAll($select,$params);
find()方法,可以使用主键值在表中检索数据.
// SELECT * FROM round_table WHERE id = "1"
$row = $table->find(1);
// SELECT * FROM round_table WHERE id IN("1", "2", 3")
$rowset = $table->find(array(1, 2, 3));

(2)数据删除总结
第一种方法:可以删任意表
//quoteInto($text, $value, $type = null, $count = null)       
$table = ''m_video'';// 设定需要删除数据的表
$db = $this->getAdapter();
$where = $db->quoteInto(''name = ?'', ''ccc'');// 删除数据的where条件语句
echo $rows_affected = $db->delete($table, $where);// 删除数据并得到影响的行数
第二种方法:只能删除本表中的
        //delete用法
// delete($where)
$where = "name = ''bbb''";
echo $this->delete($where);// 删除数据并得到影响的行数
(3)数据更新总结
第一种方法:可以更新任意表
// 以"列名"=>"数据"的格式构造更新数组,更新数据行
$table = ''m_video'';// 更新的数据表
$db = $this->getAdapter();
$set = array (
''name'' => ''蝶影重重'',
''clicks'' => ''888'',
);
$w

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号