本文实例总结了Zend Framework数据库操作。分享给大家供大家参考,具体如下:
Zend_Db数据库知识
例子:
fetchAll(“is_jian=1″,”id DESC”,2)->toArray();
//根据is_jian=1,按id倒序排列取前2条记录当第一个参数为null时,则直接按id倒序排列ASC为正序。
view->get2Video =$video->get2Video();//取到2条首页推荐的数据
get2Video as $video): ?>
=$video['id']; ?>
=$video['name']; ?>
endforeach; ?>
添加引号防止数据库攻击
quote用法
quote(‘St John”s Wort’);
// $value 现在变成了 ‘”St John\”s Wort”‘ (注意两边的引号)
// 为数组加引号
$value = $db->quote(array(‘a’,’b’,’c’));
// $value 现在变成了 ‘”a”,”b”,”c”‘ (“,”分隔的字符串)
quoteInto用法
quoteInto(‘id = ?’,1);
// $where 现在为 ‘id = “1”‘ (注意两边的引号)
// 在where语句中为数组加上引号
$where = $db->quoteInto(‘id IN(?)’,array(1,2,3));
// $where 现在为 ‘id IN(“1″,”2″,”3”)’ (一个逗号分隔的字符串)
(1)数据查询总结
getAdapter();
$sql = $db->quoteInto(‘SELECT * FROM `m_video` WHERE `is_guo` =?’,’1′);
$result = $db->query($sql);
// 使用PDOStatement对象$result将所有结果数据放到一个数组中
$videoArray = $result->fetchAll();
fetchAll($where = null,$order = null,$count = null,$offset = null)
取回结果集中所有字段的值,作为连续数组返回,如果参数不设置就写成null
可以取回结果集的指定条数
fetchAll(“is_jian=1 and is_guo=1”,2)->toArray();
fetchAssoc($sql,$bind = array())
取回结果集中所有字段的值,作为关联数组返回,第一个字段作为码
getAdapter();
$videoArray=$db->fetchAssoc(“SELECT * FROM m_video WHERE `is_jian` = :title”,array(‘title’ => ‘1’));
fetchCol($sql,$bind = array())
取回所有结果行的第一个字段名
getAdapter();
$videoArray=$db->fetchCol(“SELECT name FROM m_video WHERE `is_jian` = :title”,array(‘title’ => ‘1’));
fetchOne($sql,$bind = array())
只取回第一个字段值
getAdapter();
echo $videoArray=$db->fetchOne(“SELECT count(*) FROM m_video WHERE `is_jian` = :title”,array(‘title’ => ‘1’));
fetchPairs($sql,$bind = array())
取回一个相关数组,第一个字段值为码(id),第二个字段为值(name)
返回:Array( [1] => 十二生肖奇缘 [2] => 桃花运),1,2:为id字段。
getAdapter();
$videoArray=$db->fetchPairs(“SELECT id,name FROM m_video WHERE is_jian = :title”,array(‘title’ => ‘1’));
fetchRow($where = null,$order = null)
只取回结果集的第一行
fetchRow(“is_jian=1 and is_guo=1”,’id DESC’)->toArray();
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’];
/