亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

direktori cari
歡迎 目錄 快速參考圖 基本信息 服務(wù)器要求 許可協(xié)議 變更記錄 關(guān)于CodeIgniter 安裝 下載 CodeIgniter 安裝指導(dǎo) 從老版本升級(jí) 疑難解答 介紹 開(kāi)始 CodeIgniter 是什么? CodeIgniter 速記表 支持特性 應(yīng)用程序流程圖 模型-視圖-控制器 架構(gòu)目標(biāo) 教程 內(nèi)容提要 加載靜態(tài)內(nèi)容 創(chuàng)建新聞條目 讀取新聞條目 結(jié)束語(yǔ) 常規(guī)主題 CodeIgniter URL 控制器 保留字 視圖 模型 輔助函數(shù) 使用 CodeIgniter 類庫(kù) 創(chuàng)建你自己的類庫(kù) 使用 CodeIgniter 適配器 創(chuàng)建適配器 創(chuàng)建核心系統(tǒng)類 鉤子 - 擴(kuò)展框架的核心 自動(dòng)裝載資源 公共函數(shù) URI 路由 錯(cuò)誤處理 緩存 調(diào)試應(yīng)用程序 以CLI方式運(yùn)行 管理應(yīng)用程序 處理多環(huán)境 PHP替代語(yǔ)法 安全 開(kāi)發(fā)規(guī)范 類庫(kù)參考 基準(zhǔn)測(cè)試類 日歷類 購(gòu)物車類 配置類 Email 類 加密類 文件上傳類 表單驗(yàn)證詳解 FTP 類 圖像處理類 輸入類 Javascript 類 語(yǔ)言類 裝載類 遷移類 輸出類 分頁(yè)類 模板解析器類 安全類 Session 類 HTML 表格類 引用通告類 排版類 單元測(cè)試類 URI 類 User-Agent 類 表單驗(yàn)證 XML-RPC 和 XML-RPC 服務(wù)器 Zip 編碼類 緩存適配器 適配器參考 適配器 數(shù)據(jù)庫(kù)類 Active Record 類 數(shù)據(jù)庫(kù)緩存類 自定義函數(shù)調(diào)用 數(shù)據(jù)庫(kù)配置 連接你的數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)快速入門(mén)例子代碼 字段數(shù)據(jù) 數(shù)據(jù)庫(kù)維護(hù)類 查詢輔助函數(shù) 數(shù)據(jù)庫(kù)類 查詢 生成查詢記錄集 表數(shù)據(jù) 事務(wù) 數(shù)據(jù)庫(kù)工具類 JavaScript類 輔助函數(shù)參考 數(shù)組輔助函數(shù) CAPTCHA 輔助函數(shù) Cookie Helper 日期輔助函數(shù) 目錄輔助函數(shù) 下載輔助函數(shù) Email 輔助函數(shù) 文件輔助函數(shù) 表單輔助函數(shù) HTML輔助函數(shù) Inflector 輔助函數(shù) 語(yǔ)言輔助函數(shù) 數(shù)字輔助函數(shù) 路徑輔助函數(shù) 安全輔助函數(shù) 表情輔助函數(shù) 字符串輔助函數(shù) 文本輔助函數(shù) 排版輔助函數(shù) URL 輔助函數(shù) XML 輔助函數(shù)
watak

CodeIgniter 用戶指南 版本 2.1.0

編輯文檔、查看近期更改請(qǐng) 登錄 或 注冊(cè)  找回密碼
查看原文

事務(wù)

CodeIgniter的數(shù)據(jù)庫(kù)抽象允許你在支持事務(wù)安全的數(shù)據(jù)庫(kù)表中使用事務(wù)。在MySQL中,你需要用InnoDB或BDB表而不是更常用的MyISAM。大多數(shù)其它的數(shù)據(jù)庫(kù)平臺(tái)都原生支持事務(wù)。

如果你對(duì)事務(wù)不熟悉,我們建議您上網(wǎng)尋找相關(guān)資源學(xué)習(xí)。以下信息假設(shè)你已經(jīng)明白事務(wù)的相關(guān)概念。

CodeIgniter 的事務(wù)方法

CodeIgniter 使用的事務(wù)方法與流行的數(shù)據(jù)庫(kù)類ADODB所使用的處理過(guò)程非常相似。我們選擇那種方法是因?yàn)樗鼧O大地簡(jiǎn)化了運(yùn)行事務(wù)的處理過(guò)程。大多數(shù)情況下你只需要編寫(xiě)兩行代碼就行了。

傳統(tǒng)上, 事務(wù)需要實(shí)現(xiàn)大量工作, 他們要求你隨時(shí)跟蹤你的查詢, 并根據(jù)查詢的成功或失敗來(lái)決定 提交 還是 回滾。這是特別麻煩的嵌套查詢。相比之下, 我們實(shí)現(xiàn)了一種智能的事務(wù)系統(tǒng), 它將自動(dòng)地為你做這些事情(如果你選擇手動(dòng)管理你的事務(wù), 這也是可以的, 但這確實(shí)沒(méi)什么好處)。

運(yùn)行事務(wù)

要使用事務(wù)來(lái)運(yùn)行你的查詢, 你可以使用如下所述的 $this->db->trans_start()$this->db->trans_complete() 函數(shù):

$this->db->trans_start();
$this->db->query('一條SQL查詢...');
$this->db->query('另一條查詢...');
$this->db->query('還有一條查詢...');
$this->db->trans_complete();

在 start/complete 函數(shù)之間, 你想運(yùn)行多少條查詢都可以, 根據(jù)任何給定查詢的成功或失敗, 它們將被提交或者回滾。

嚴(yán)格模式(Strict Mode)

默認(rèn)情況下, CodeIgniter 以嚴(yán)格模式運(yùn)行所有事務(wù)。當(dāng)嚴(yán)格模式被啟用時(shí), 如果你正在運(yùn)行多組的事務(wù), 只要有一組失敗, 所有組都會(huì)被回滾。如果嚴(yán)格模式被禁用, 每一組都被視為獨(dú)立的組, 這意味著其中一個(gè)組的失敗不會(huì)影響其它組。

嚴(yán)格模式能以下面的方式禁用:

$this->db->trans_strict(FALSE);

管理錯(cuò)誤信息

如果你在你的 config/database.php 文件中啟用了錯(cuò)誤報(bào)告, 當(dāng)提交沒(méi)有成功時(shí), 你會(huì)看到一條標(biāo)準(zhǔn)的錯(cuò)誤信息。如果調(diào)試被關(guān)閉, 你可以通過(guò)這種方式來(lái)管理你的錯(cuò)誤信息:

$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->trans_complete();

if ($this->db->trans_status() === FALSE)
{
????// 生成一條錯(cuò)誤信息... 或者使用 log_message() 函數(shù)來(lái)記錄你的錯(cuò)誤信息
}

禁用事務(wù)

當(dāng)你使用 $this->db->trans_start() 時(shí), 事務(wù)就已經(jīng)被自動(dòng)啟用了。如果你想要禁用事務(wù), 你可以使用 $this->db->trans_off() 來(lái)實(shí)現(xiàn):

$this->db->trans_off()

$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->trans_complete();

當(dāng)事務(wù)被禁用的時(shí)候, 你的查詢將被自動(dòng)提交, 就像沒(méi)有使用事務(wù)時(shí)那樣。

測(cè)試模式(Test Mode)

你可以選擇性地將事務(wù)系統(tǒng)設(shè)置到 "測(cè)試模式" , 這將導(dǎo)致你的查詢被回滾 -- 盡管查詢會(huì)生成有效結(jié)果。要使用測(cè)試模式, 只需將 $this->db->trans_start() 函數(shù)的第一個(gè)參數(shù)設(shè)置為 TRUE 即可:

$this->db->trans_start(TRUE); // 查詢將被回滾
$this->db->query('AN SQL QUERY...');
$this->db->trans_complete();

手動(dòng)運(yùn)行事務(wù)

如果你想要手動(dòng)運(yùn)行事務(wù), 可以使用下面的方法:

$this->db->trans_begin();

$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');

if ($this->db->trans_status() === FALSE)
{
????$this->db->trans_rollback();
}
else
{
????$this->db->trans_commit();
}

說(shuō)明: 手動(dòng)運(yùn)行事務(wù)時(shí), 請(qǐng)務(wù)必使用 $this->db->trans_begin() 函數(shù), 而不是 $this->db->trans_start().

?

翻譯貢獻(xiàn)者: Drice, Hex, iptton, yinzhili
最后修改: 2010-10-22 11:07:30
Artikel sebelumnya: Artikel seterusnya: