|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为函数实在是太多了,慢慢的你就会知道,知道有这个函数就可以。
(1)数据查询总结
fetchRow()这个办法前往一行,详细前往是相干数组仍是甚么用setFetchMode()决意
fetchCol()前往第一列
fetchOne()前往第一行,第一列。为一个值不是数组
fetchAssoc()前往相干数组,相当于fetchAll()默许情形下的前往值
直接停止查询. ( 利用完全的sql语句)
//function quoteInto($text, $value, $type = null, $count = null)
$db = $this->getAdapter();
$sql = $db->quoteInto(‘SELECT * FROM `m_video` WHERE `is_guo` =?’, ’1′);
$result = $db->query($sql);
// 利用PDOStatement对象$result将一切了局数据放到一个数组中
$videoArray = $result->fetchAll();
fetchAll用法
fetchAll($where = null, $order = null, $count = null, $offset = null)
取回了局集中一切字段的值,作为一连数组前往,假如参数不设置就写成null
可以取回了局集的指定条数
$videoArray=$this->fetchAll(“is_jian=1 and is_guo=1″,”id DESC”,0,2)->toArray();
fetchAssoc用法
fetchAssoc($sql, $bind = array())
取回了局集中一切字段的值,作为联系关系数组前往, 第一个字段作为码
$db = $this->getAdapter();
$videoArray=$db->fetchAssoc(“SELECT * FROM m_video WHERE `is_jian` = :title”,array(‘title’ => ’1′));
fetchCol用法
fetchCol($sql, $bind = array())
取回一切了局行的第一个字段名
$db = $this->getAdapter();
$videoArray=$db->fetchCol(“SELECT name FROM m_video WHERE `is_jian` = :title”,array(‘title’ => ’1′));
fetchOne用法
fetchOne($sql, $bind = array())
只取回第一个字段值
$db = $this->getAdapter();
echo $videoArray=$db->fetchOne(“SELECT count(*) FROM m_video WHERE `is_jian` = :title”,array(‘title’ => ’1′));
fetchPairs用法
fetchPairs($sql, $bind = array())
取回一个相干数组,第一个字段值为码(id),第二个字段为值(name)
前往:Array( [1] => 十二生肖奇缘 [2] => 桃花运),1,2:为id字段。
$db = $this->getAdapter();
$videoArray=$db->fetchPairs(“SELECT id, name FROM m_video WHERE is_jian = :title”,array(‘title’ => ’1′));
fetchRow用法
fetchRow($where = null, $order = null)
只取回了局集的第一行
$videoArray=$this->fetchRow(“is_jian=1 and is_guo=1″, ‘id DESC’)->toArray();
query用法
//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′,
);
$where = $db->quoteInto(‘id = ?’, ’10′);// where语句
// 更新表数据,前往更新的行数
echo $rows_affected = $db->update($table, $set, $where);
第二种办法:只能更新本表中的
$set = array (
‘name’ => ‘蝶影重重22′,
‘clicks’ => ’8880′,
);
$db = $this->getAdapter();
$where = $db->quoteInto(‘id = ?’, ’10′);// where语句
$rows_affected = $this->update($set, $where);// 更新表数据,前往更新的行数
(4)数据拔出总结
第一种办法:可以在恣意表中拔出数据
$table = ‘m_gao’;// 拔出数据的数据表
$db = $this->getAdapter();
// 以”列名”=>”数据”的格局格局机关拔出数组,拔出数据行
$row = array (
‘title’ => ‘人人好。111′,
‘content’ => ‘影视网要改成用zend framework开辟啊’,
‘time’ => ’2009-05-04 17:23:36′,
);
// 拔出数据行并前往拔出的行数
$rows_affected = $db->insert($table, $row);
// 最初拔出的数据id
echo $last_insert_id = $db->lastInsertId();
$row=array(
‘name’=>’curdate()’,
‘address’ => new Zend_Db_Expr (‘curdate()’)
)
如许子字段name会拔出一个curdate()的字符串,而address拔出一个工夫值(curdate()的了局2009-05-09)
第二种办法:只能合适本表中的还没有总结出来
(5)事务处置
$table = ‘m_gao’;// 拔出数据的数据表
$db = $this->getAdapter();
$db->beginTransaction();//Zend_Db_Adapter会回到主动commit形式下,直到你再次挪用 beginTransaction()办法
// 以”列名”=>”数据”的格局格局机关拔出数组,拔出数据行
$row = array (
‘id’=>null,
‘title’ => ‘人人好。111′,
‘content’ => ‘影视网要改成用zend framework开辟啊’,
‘time’ => ’2009-05-04 17:23:36′,
);
try {
// 拔出数据行并前往拔出的行数
$rows_affected = $db->insert($table, $row);
// 最初拔出的数据id
$last_insert_id = $db->lastInsertId();
$db->commit();// 事务提交
}catch (Exception $e){
$db->rollBack();
echo ‘捕捉异常:’.$e->getMessage();//打出异常信息
}
echo $last_insert_id;
(5)其他
$db = $this->getAdapter();
$tables = $db->listTables(); //列出以后数据库中的一切表
$fields = $db->describeTable(‘m_video’);//列出一个表的字段情形
没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。 |
|