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

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

CodeIgniter 用戶指南 版本 2.1.0

編輯文檔、查看近期更改請 登錄 或 注冊  找回密碼
查看原文

事務(wù)

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

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

CodeIgniter 的事務(wù)方法

CodeIgniter 使用的事務(wù)方法與流行的數(shù)據(jù)庫類ADODB所使用的處理過程非常相似。我們選擇那種方法是因為它極大地簡化了運行事務(wù)的處理過程。大多數(shù)情況下你只需要編寫兩行代碼就行了。

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

運行事務(wù)

要使用事務(wù)來運行你的查詢, 你可以使用如下所述的 $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ù)之間, 你想運行多少條查詢都可以, 根據(jù)任何給定查詢的成功或失敗, 它們將被提交或者回滾。

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

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

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

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

管理錯誤信息

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

$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)
{
????// 生成一條錯誤信息... 或者使用 log_message() 函數(shù)來記錄你的錯誤信息
}

禁用事務(wù)

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

$this->db->trans_off()

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

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

測試模式(Test Mode)

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

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

手動運行事務(wù)

如果你想要手動運行事務(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();
}

說明: 手動運行事務(wù)時, 請務(wù)必使用 $this->db->trans_begin() 函數(shù), 而不是 $this->db->trans_start().

?

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