最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php之CodeIgniter學(xué)習(xí)筆記

 更新時(shí)間:2013年06月17日 15:23:59   作者:  
本篇文章是對(duì)php中的CodeIgniter進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

在使用數(shù)據(jù)庫(kù)之前,我們最好將數(shù)據(jù)庫(kù)進(jìn)行自動(dòng)連接:config/autoload.php自動(dòng)加載 $autoload['libraries'] = array('database');
一些常用函數(shù)

選擇數(shù)據(jù)
$this->db->select();
允許你在SQL查詢(xún)中寫(xiě) SELECT 部分。
$this->db->where();
$this->db->or_where();
$this->db->where_in();
允許你在SQL查詢(xún)中寫(xiě) WHERE部分,其余各種where語(yǔ)句請(qǐng)看手冊(cè)。
$this->db->get();
運(yùn)行選擇查詢(xún)語(yǔ)句并且返回結(jié)果集??梢垣@取一個(gè)表的全部數(shù)據(jù)。
$this->db->like();
$this->db->or_like();
$this->db->not_like();
本函數(shù)允許你生成 LIKE 子句,在做查詢(xún)時(shí)非常有用,其余語(yǔ)法請(qǐng)看手冊(cè)。
$this->db->order_by();
幫助你設(shè)置一個(gè) ORDER BY 子句。
$this->db->group_by();
允許你編寫(xiě)查詢(xún)語(yǔ)句中的 GROUP BY 部分:
$this->db->distinct();
為查詢(xún)語(yǔ)句添加 "DISTINCT" 關(guān)鍵字:
$this->db->having();
允許你為你的查詢(xún)語(yǔ)句編寫(xiě) HAVING 部分。
$this->db->limit();
限制查詢(xún)所返回的結(jié)果數(shù)量:
$this->db->select_max();
為你的查詢(xún)編寫(xiě)一個(gè) "SELECT MAX(field)"。
$this->db->select_min();
為你的查詢(xún)編寫(xiě)一個(gè) "SELECT MIN(field)" 
$this->db->select_avg();
為你的查詢(xún)編寫(xiě)一個(gè) "SELECT AVG(field)" 。
$this->db->select_sum();
為你的查詢(xún)編寫(xiě)一個(gè) "SELECT SUM(field)" 
$this->db->join();
允許你編寫(xiě)查詢(xún)中的JOIN部分。
$this->db->count_all_results();
允許你獲得某個(gè)特定的Active Record查詢(xún)所返回的結(jié)果數(shù)量??梢允褂?/SPAN>Active Record限制函數(shù),例如 where(), or_where(), like(), or_like() 等等。

插入數(shù)據(jù)

$this->db->insert();
生成一條基于你所提供的數(shù)據(jù)的SQL插入字符串并執(zhí)行查詢(xún)。你可以向函數(shù)傳遞 數(shù)組 或一個(gè) 對(duì)象。
$this->db->insert_batch();
一次插入多條數(shù)據(jù),生成一條基于你所提供的數(shù)據(jù)的SQL插入字符串并執(zhí)行查詢(xún)。你可以向函數(shù)傳遞 數(shù)組 或一個(gè) 對(duì)象。
$this->db->set();
本函數(shù)使您能夠設(shè)置inserts(插入)updates(更新)值。它可以用來(lái)代替那種直接傳遞數(shù)組給插入和更新函數(shù)的方式。

更新數(shù)據(jù)

$this->db->update();
根據(jù)你提供的數(shù)據(jù)生成并執(zhí)行一條update(更新)語(yǔ)句。你可以將一個(gè)數(shù)組或者對(duì)象傳遞給本函數(shù)。
$this->db->update_batch();
Generates an update string based on the data you supply, and runs the query. You can either pass an array or an object to the function. Here is an example using an array:

刪除數(shù)據(jù)

$this->db->delete();
生成并執(zhí)行一條DELETE(刪除)語(yǔ)句。
$this->db->empty_table();
生成并執(zhí)行一條DELETE(刪除)語(yǔ)句。
$this->db->truncate();
生成并執(zhí)行一條TRUNCATE(截?cái)?/SPAN>)語(yǔ)句。

鏈?zhǔn)椒椒?/SPAN>

鏈?zhǔn)椒椒ㄔ试S你以連接多個(gè)函數(shù)的方式簡(jiǎn)化你的語(yǔ)法??紤]一下這個(gè)范例:
$this->db->select('title')->from('mytable')->where('id', $id)->limit(10, 20);
$query = $this->db->get();
說(shuō)明鏈?zhǔn)椒椒ㄖ荒茉?/SPAN>PHP 5下面運(yùn)行。

查詢(xún)

$this->db->query();
要提交一個(gè)查詢(xún),用以下函數(shù):
$this->db->query('YOUR QUERY HERE');
query() 函數(shù)以object(對(duì)象)的形式返回一個(gè)數(shù)據(jù)庫(kù)結(jié)果集。 當(dāng)使用 "read" 模式來(lái)運(yùn)行查詢(xún)時(shí)你可以使用顯示你的結(jié)果集來(lái)顯示查詢(xún)結(jié)果當(dāng)使用 "write" 模式來(lái)運(yùn)行查詢(xún)時(shí)將會(huì)僅根據(jù)執(zhí)行的成功或失敗來(lái)返回 TRUE 或 FALSE. 

轉(zhuǎn)義查詢(xún)

$this->db->escape()這個(gè)函數(shù)將會(huì)確定數(shù)據(jù)類(lèi)型,以便僅對(duì)字符串類(lèi)型數(shù)據(jù)進(jìn)行轉(zhuǎn)義。并且,它也會(huì)自動(dòng)把數(shù)據(jù)用單引號(hào)括起來(lái),所以你不必手動(dòng)添加單引號(hào),用法如下:  $sql = "INSERT INTO table (title) VALUES(".$this->db->escape($title).")";

查詢(xún)輔助函數(shù)

$this->db->insert_id()  
這個(gè)ID號(hào)是執(zhí)行數(shù)據(jù)插入時(shí)的ID。 
$this->db->affected_rows()
當(dāng)執(zhí)行寫(xiě)入操作(insert,update等)的查詢(xún)后,顯示被影響的行數(shù)。
$this->db->count_all();
計(jì)算出指定表的總行數(shù)并返回。在第一個(gè)參數(shù)中寫(xiě)入被提交的表名。

生成查詢(xún)記錄集

result()
該方法執(zhí)行成功返回一個(gè)object 數(shù)組,失敗則返回一個(gè)空數(shù)組。
result_array()
該方法執(zhí)行成功時(shí)將記錄集作為關(guān)聯(lián)數(shù)組返回。失敗時(shí)返回空數(shù)組。
row()
該函數(shù)將當(dāng)前請(qǐng)求的第一行數(shù)據(jù)作為 object 返回。

你可以傳遞參數(shù)(參數(shù)是行的索引)以便獲得某一行的數(shù)據(jù)。比如我們要獲得第 行的數(shù)據(jù): $row = $query->row(4);

row_array()
功能與 row() 一樣區(qū)別在于該函數(shù)返回的是一個(gè)數(shù)組。

除此以外我們還可以使用下面的方法通過(guò)游標(biāo)的方式獲取記錄:

$row = $query->first_row()
$row = $query->last_row()
$row = $query->next_row()
$row = $query->previous_row()
默認(rèn)情況下他們將返回一個(gè) object,同時(shí)你也可以傳遞參數(shù) "array" 以便使用 array 的方式獲取數(shù)據(jù) $row = $query->first_row('array')
$row = $query->last_row('array')
$row = $query->next_row('array')
$row = $query->previous_row('array')

結(jié)果集輔助函數(shù)

$query->num_rows()
該函數(shù)將會(huì)返回當(dāng)前請(qǐng)求的行數(shù)。
$query->num_fields()
該函數(shù)返回當(dāng)前請(qǐng)求的字段數(shù)(列數(shù)):
$query->free_result()
該函數(shù)將會(huì)釋放當(dāng)前查詢(xún)所占用的內(nèi)存并刪除其關(guān)聯(lián)的資源標(biāo)識(shí)。

自動(dòng)連接

自動(dòng)連接” 功能將在每個(gè)一頁(yè)面加載時(shí)被自動(dòng)實(shí)例化數(shù)據(jù)庫(kù)類(lèi)。要啟用自動(dòng)連接,可在application/config/autoload.php中的 library 數(shù)組里添加 database
$autoload['libraries'] = array('database');

手動(dòng)連接

如果僅僅是一部分頁(yè)面要求數(shù)據(jù)庫(kù)連接,你可以在你有需要的函數(shù)里手工添加如下代碼或者在你的類(lèi)里手工添加以供該類(lèi)使用。
$this->load->database();

連接多數(shù)據(jù)庫(kù)

如果你需要同時(shí)連接多于一個(gè)的數(shù)據(jù)庫(kù),你可以用以下方式來(lái)實(shí)現(xiàn):
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);

表數(shù)據(jù)

$this->db->list_tables();
返回一個(gè)包含當(dāng)前連接數(shù)據(jù)庫(kù)中所有表名稱(chēng)的數(shù)組。
$this->db->table_exists();
有時(shí),在對(duì)某個(gè)表執(zhí)行操作之前,使用該函數(shù)判斷指定表是否存在很有用。返回一個(gè)布爾值。

數(shù)據(jù)庫(kù)工具類(lèi)

重要提示:  初始化數(shù)據(jù)庫(kù)工具類(lèi)之前,你的數(shù)據(jù)庫(kù)驅(qū)動(dòng)必須已經(jīng)運(yùn)行,因?yàn)楣ぞ哳?lèi)依賴(lài)于此。
加載工具類(lèi): $this->load->dbutil()
一旦初始化完畢,你可以通過(guò) $this->dbutil 對(duì)象來(lái)訪(fǎng)問(wèn)成員函數(shù):
$this->dbutil->list_databases()
$this->dbutil->database_exists();
$this->dbutil->xml_from_result($db_result)
$this->dbutil->backup()

數(shù)據(jù)庫(kù)緩存類(lèi)

激活緩存需要三步:
1、在服務(wù)器上創(chuàng)建一個(gè)可寫(xiě)的目錄以便保存緩存文件。
2、在文件 application/config/database.php $db['xxxx']['cachedir']設(shè)置其目錄。
3、激活緩存特性,可以在文件 application/config/database.php 中設(shè)置全局選項(xiàng)$db['xxxx']['cache_on']='TRUE',也可以用以本頁(yè)下面的方法手動(dòng)設(shè)置。
一旦被激活,每一次含有數(shù)據(jù)庫(kù)查詢(xún)的頁(yè)面被加載時(shí)緩存就會(huì)自動(dòng)發(fā)生。

當(dāng)有數(shù)據(jù)庫(kù)更新,我們需要?jiǎng)h除緩存文件
$this->db->cache_delete()
刪除緩存文件與特定網(wǎng)頁(yè)。如果你需要清除緩存后,更新您的數(shù)據(jù)庫(kù)
$this->db->cache_delete('/blog', 'comments');
注意,手冊(cè)上寫(xiě)的是 $this->db->cache_delete('blog', 'comments');但根據(jù)實(shí)際測(cè)試應(yīng)該在控制器名字前加斜杠'/'才能正確執(zhí)行。
$this->db->cache_delete_all()
清除所有所有的緩存文件。

數(shù)據(jù)庫(kù)維護(hù)類(lèi)

注意:  欲初始化數(shù)據(jù)庫(kù)維護(hù)類(lèi),請(qǐng)確保你的數(shù)據(jù)庫(kù)驅(qū)動(dòng)已經(jīng)運(yùn)行,因?yàn)樵擃?lèi)依賴(lài)于數(shù)據(jù)庫(kù)驅(qū)動(dòng)。
使用如下方法載入數(shù)據(jù)庫(kù)維護(hù)類(lèi):
$this->load->dbforge()
一旦初始化,就可以使用$this->dbforge 對(duì)象訪(fǎng)問(wèn)類(lèi)中函數(shù):
$this->dbforge->create_database('db_name')
允許你創(chuàng)建由第一個(gè)參數(shù)指定的數(shù)據(jù)庫(kù)。
$this->dbforge->drop_database('db_name')
允許你刪除由第一個(gè)參數(shù)指定的數(shù)據(jù)庫(kù)。
$this->dbforge->create_table('table_name');
聲明了字段和鍵之后,你就可以創(chuàng)建一個(gè)表。  

相關(guān)文章

  • PHP對(duì)象的淺復(fù)制與深復(fù)制的實(shí)例詳解

    PHP對(duì)象的淺復(fù)制與深復(fù)制的實(shí)例詳解

    這篇文章主要介紹了PHP對(duì)象的淺復(fù)制與深復(fù)制的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • 淺析memcache啟動(dòng)以及telnet命令詳解

    淺析memcache啟動(dòng)以及telnet命令詳解

    本篇文章是對(duì)memcache啟動(dòng)以及telnet命令進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP獲取Exif縮略圖的方法

    PHP獲取Exif縮略圖的方法

    這篇文章主要介紹了PHP獲取Exif縮略圖的方法,實(shí)例分析了php針對(duì)圖片的讀取及返回MIME類(lèi)型的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • php escape URL編碼

    php escape URL編碼

    php提供的URL編碼函數(shù)是基于字節(jié)的,對(duì)由ie的javascript函數(shù)escape編碼的數(shù)據(jù)就無(wú)能為力了。
    2008-12-12
  • zen cart新進(jìn)商品的隨機(jī)排序修改方法

    zen cart新進(jìn)商品的隨機(jī)排序修改方法

    由于新進(jìn)商品的數(shù)量可能比頁(yè)面上能顯示的數(shù)量多,所以采用的是隨機(jī)顯示的方式。如果想改為按時(shí)間順序顯示,可以按照radnows提供的 方法修改。(記住使用文件替代)
    2010-09-09
  • PHP 讀取和修改大文件的某行內(nèi)容的代碼

    PHP 讀取和修改大文件的某行內(nèi)容的代碼

    最近碰到一個(gè)比較有趣的問(wèn)題,就是修改某個(gè)文件的某一行字符,不過(guò)文件太大,file()直接讀取是不可能的,我使用fgets來(lái)跳轉(zhuǎn)到指定行,并用fwrite修改某個(gè)字符串。
    2009-10-10
  • PHP及Zend Engine的線(xiàn)程安全模型分析

    PHP及Zend Engine的線(xiàn)程安全模型分析

    在閱讀PHP源碼和學(xué)習(xí)PHP擴(kuò)展開(kāi)發(fā)的過(guò)程中,我接觸到大量含有“TSRM”字眼的宏。通過(guò)查閱資料,知道這些宏與Zend的線(xiàn)程安全機(jī)制有關(guān),而絕大多數(shù)資料中都建議按照既定規(guī)則使用這些宏就可以,而沒(méi)有說(shuō)明這些宏的具體作用
    2011-11-11
  • 淺析php-fpm靜態(tài)和動(dòng)態(tài)執(zhí)行方式的比較

    淺析php-fpm靜態(tài)和動(dòng)態(tài)執(zhí)行方式的比較

    這篇文章主要介紹了php-fpm靜態(tài)和動(dòng)態(tài)執(zhí)行方式的比較,較為詳細(xì)的分析了php-fpm靜態(tài)和動(dòng)態(tài)執(zhí)行方式的原理、參數(shù)功能與相關(guān)使用技巧,需要的朋友可以參考下
    2016-11-11
  • PHP對(duì)象Object的概念 介紹

    PHP對(duì)象Object的概念 介紹

    類(lèi)提供了一個(gè)基礎(chǔ),可以在此基礎(chǔ)上創(chuàng)建實(shí)體(即這個(gè)類(lèi)所建模的實(shí)體)的特定實(shí)例,這些特定實(shí)例稱(chēng)為對(duì)象(object)
    2012-06-06
  • PHP切割漢字的常用方法實(shí)例總結(jié)

    PHP切割漢字的常用方法實(shí)例總結(jié)

    這篇文章主要介紹了PHP切割漢字的常用方法,結(jié)合實(shí)例形式總結(jié)分析了php針對(duì)漢字的編碼轉(zhuǎn)換、遍歷、截取等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04

最新評(píng)論

镇平县| 页游| 辉南县| 田林县| 汉寿县| 金寨县| 开平市| 桃源县| 兴宁市| 武穴市| 南昌市| 扎兰屯市| 鄢陵县| 衡山县| 清流县| 嫩江县| 和林格尔县| 大名县| 弥渡县| 丰台区| 江油市| 蒙自县| 彭泽县| 高安市| 海林市| 灵山县| 甘孜县| 璧山县| 伊春市| 福海县| 若尔盖县| 兰州市| 大悟县| 湖北省| 普安县| 中超| 南涧| 叶城县| 舒城县| 泗水县| 扬中市|