国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) php教程 PHP開(kāi)發(fā) Zend Framework教程之Zend_Db_Table_Row用法實(shí)例分析

Zend Framework教程之Zend_Db_Table_Row用法實(shí)例分析

Jan 05, 2017 am 09:49 AM

本文實(shí)例講述了Zend Framework教程之Zend_Db_Table_Row用法。分享給大家供大家參考,具體如下:

1. 簡(jiǎn)介

Zend_Db_Table_Row是Zend Framework的行資料閘道.通常來(lái)說(shuō),你不可以自己實(shí)例化Zend_Db_Table_Row, 而是透過(guò)呼叫Zend_Db_Table::find(Db_Table::find)或方法或方法或方法Zend_Db_Table::fetchRow()方法將Zend_Db_Table_Row作為結(jié)果資料回傳過(guò)來(lái).一旦你得到來(lái)一個(gè)Zend_Db_Table_Row物件,你可以修改記錄值(體現(xiàn)為類別的屬性)然後呼叫save()方法可以將變更儲(chǔ)存到原表上.

2. 取回一筆記錄

首先,需要實(shí)例化一個(gè)Zend_Db_Table類.

<?php
// 設(shè)置一個(gè) adapter
require_once &#39;Zend/Db.php&#39;;
$params = array (
  &#39;host&#39;   => &#39;127.0.0.1&#39;,
  &#39;username&#39; => &#39;malory&#39;,
  &#39;password&#39; => &#39;******&#39;,
  &#39;dbname&#39;  => &#39;camelot&#39;
);
$db = Zend_Db::factory(&#39;PDO_MYSQL&#39;, $params);
// 為所有的Zend_Db_Table對(duì)象設(shè)置默認(rèn)adapter
require_once &#39;Zend/Db/Table.php&#39;;
Zend_Db_Table::setDefaultAdapter($db);
// 連接到數(shù)據(jù)庫(kù)中的某一個(gè)表
class RoundTable extends Zend_Db_Table {}
$table = new RoundTable();
?>

接下來(lái),使用Zend_Db_Table::find()方法和主鍵進(jìn)行查詢,或使用Zend_Db_TablefetchetchRow()::fetch得到的回傳結(jié)果是一個(gè)Zend_Db_Table_Row 物件,該物件的屬性名稱採(cǎi)用camelCaps的形式對(duì)應(yīng)資料庫(kù)中帶下劃線的表名.
如,表名若為first_name,那麼類別中的改屬性則為firstName.

<?php
// 從表中取回的結(jié)果數(shù)據(jù)是一個(gè)Zend_Db_Table_Row對(duì)象
$row = $table->fetchRow(&#39;first_name = "Robin"&#39;);
//
// $row現(xiàn)在是一個(gè)帶有多種公有屬性的Zend_Db_Table_Row對(duì)象
// that map to table columns:
//
// $row->id = &#39;3&#39;
// $row->nobleTitle = &#39;Sir&#39;
// $row->firstName = &#39;Robin&#39;
// $row->favoriteColor = &#39;yellow&#39;
//
?>

3 .修改資料

修改行資料是一件很輕鬆的事情:只需要按照常規(guī)的方法修改類別屬性.然後調(diào)用save()方法就將改變的結(jié)果保存到了數(shù)據(jù)表中.

<?php
// 連接到數(shù)據(jù)庫(kù)中的表
class RoundTable extends Zend_Db_Table {}
$table = new RoundTable();
// 從表中取回的結(jié)果數(shù)據(jù)是一個(gè)Zend_Db_Table_Row對(duì)象
$row = $table->fetchRow(&#39;first_name = "Robin"&#39;);
//
// $row現(xiàn)在是一個(gè)帶有多種公有屬性的Zend_Db_Table_Row對(duì)象
// that map to table columns:
//
// $row->id = &#39;3&#39;
// $row->nobleTitle = &#39;Sir&#39;
// $row->firstName = &#39;Robin&#39;
// $row->favoriteColor = &#39;yellow&#39;
//
// 改變favorite color字段,并且將變動(dòng)存儲(chǔ)到數(shù)據(jù)表中.
$row->favoriteColor = &#39;blue&#39;;
$row->save();
?>

但是,你不能夠修改主鍵的值.假如你試圖進(jìn)行改操作, Zend_Db_Table_Row將拋出一個(gè)異常.

<?php
// 連接到數(shù)據(jù)庫(kù)中的表
class RoundTable extends Zend_Db_Table {}
$table = new RoundTable();
// fetch a record from the table as a Zend_Db_Table_Row object
$row = $table->fetchRow(&#39;first_name = "Robin"&#39;);
// 我們嘗試修改主鍵值
try {
  $row->id = 5;
  echo "We should not see this message, as an exception was thrown.";
} catch (Zend_Db_Table_RowException $e) {
  echo $e->getMessage();
}
?>
希望本文所述對(duì)大家基於Zend Framework框架的PHP程式設(shè)計(jì)有所幫助。

更多Zend Framework教程之Zend_Db_Table_Row用法實(shí)例分析相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276