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

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

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

查詢

$this->db->query();

要提交一個查詢,用以下函數(shù):

$this->db->query('YOUR QUERY HERE');

query() 函數(shù)以object(對象)的形式返回一個數(shù)據(jù)庫結果集. 當使用 "read" 模式來運行查詢時, 你可以使用“顯示你的結果集”來顯示查詢結果; 當使用 "write" 模式來運行查詢時, 將會僅根據(jù)執(zhí)行的成功或失敗來返回 TRUE 或 FALSE. 當你需要將返回的結果賦值給一個自定義變量的時候, 你可以這樣操作:

$query = $this->db->query('YOUR QUERY HERE');

$this->db->simple_query();

這是一個簡化版本的 $this->db->query() 函數(shù). 它僅返回 True(bool) 和 False(bool) 以表示查詢成功與失敗. 它將不會返回查詢數(shù)據(jù)集,無法設置查詢計時器(設置環(huán)境變量),無法編譯綁定數(shù)據(jù),不能夠存儲查詢診斷信息。 簡單地說,他是一個用于提交查詢的函數(shù),對于大多數(shù)用戶而言并不會使用到它。

Working with Database prefixes manually

If you have configured a database prefix and would like to prepend it to a table name for use in a native SQL query for example, then you can use the following:

$this->db->dbprefix('tablename');
// outputs prefix_tablename

If for any reason you would like to change the prefix programatically without needing to create a new connection, you can use this method:

$this->db->set_dbprefix('newprefix');

$this->db->dbprefix('tablename');
// outputs newprefix_tablename

保護標識符

在許多數(shù)據(jù)庫中,保護表(table)和字段(field)的名稱是明智的,例如在MySQL中使用反引號。Active Record的查詢都已被自動保護,然而,如果您需要手動保護一個標識符,您也可以這樣:

$this->db->protect_identifiers('table_name');

這個函數(shù)也會給你的表名添加一個前綴,它假定在你的數(shù)據(jù)庫配置文件中已指定了一個前綴??赏ㄟ^將第二個參數(shù)設置為TRUE (boolen) 啟用前綴:

$this->db->protect_identifiers('table_name', TRUE);

轉(zhuǎn)義查詢

將數(shù)據(jù)轉(zhuǎn)義以后提交到你的數(shù)據(jù)庫是非常好的安全做法,CodeIgniter 提供了 3 個函數(shù)幫助你完成這個工作。

  1. $this->db->escape() 這個函數(shù)將會確定數(shù)據(jù)類型,以便僅對字符串類型數(shù)據(jù)進行轉(zhuǎn)義。并且,它也會自動把數(shù)據(jù)用單引號括起來,所以你不必手動添加單引號,用法如下: $sql = "INSERT INTO table (title) VALUES(".$this->db->escape($title).")";
  2. $this->db->escape_str() 此函數(shù)將忽略數(shù)據(jù)類型對傳入數(shù)據(jù)進行轉(zhuǎn)義。更多時候你將使用上面的函數(shù)而不是這個。這個函數(shù)的使用方法是: $sql = "INSERT INTO table (title) VALUES('".$this->db->escape_str($title)."')";
  3. $this->db->escape_like_str() This method should be used when strings are to be used in LIKE conditions so that LIKE wildcards ('%', '_') in the string are also properly escaped. $search = '20% raise';
    $sql = "SELECT id FROM table WHERE column LIKE '%".$this->db->escape_like_str($search)."%'";

封裝查詢

封裝,通過讓系統(tǒng)為你組裝各個查詢語句,能夠簡化你的查詢語法。參加下面的范例:

$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";

$this->db->query($sql, array(3, 'live', 'Rick'));

查詢語句中的問號會自動被查詢函數(shù)中位于第二個參數(shù)位置的數(shù)組中的值所替代。

使用封裝查詢的第二個好處是所有的值都會被自動轉(zhuǎn)義,形成了較為安全的查詢語句。你無需手動地去轉(zhuǎn)義這些數(shù)據(jù);控制器將會自動為你進行。

?

翻譯貢獻者: 498621, Fanbin, Hex, kkorange, szlinz, xjflyttp
最后修改: 2012-02-05 22:54:55
上一篇: 下一篇: