本文实例总结了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): ?>


添加引号防止数据库攻击

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'];
/

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。