CodeIgniter怎么在php中使用?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
在使用數(shù)據(jù)庫之前,我們好將數(shù)據(jù)庫進行自動連接:config/autoload.php自動加載 $autoload['libraries'] = array('database');
一些常用函數(shù)
選擇數(shù)據(jù)
$this->db->select();
允許你在SQL查詢中寫 SELECT 部分。
$this->db->where();
$this->db->or_where();
$this->db->where_in();
允許你在SQL查詢中寫 WHERE部分,其余各種where語句請看手冊。
$this->db->get();
運行選擇查詢語句并且返回結(jié)果集??梢垣@取一個表的全部數(shù)據(jù)。
$this->db->like();
$this->db->or_like();
$this->db->not_like();
本函數(shù)允許你生成 LIKE 子句,在做查詢時非常有用,其余語法請看手冊。
$this->db->order_by();
幫助你設(shè)置一個 ORDER BY 子句。
$this->db->group_by();
允許你編寫查詢語句中的 GROUP BY 部分:
$this->db->distinct();
為查詢語句添加 "DISTINCT" 關(guān)鍵字:
$this->db->having();
允許你為你的查詢語句編寫 HAVING 部分。
$this->db->limit();
限制查詢所返回的結(jié)果數(shù)量:
$this->db->select_max();
為你的查詢編寫一個 "SELECT MAX(field)"。
$this->db->select_min();
為你的查詢編寫一個 "SELECT MIN(field)" 。
$this->db->select_avg();
為你的查詢編寫一個 "SELECT AVG(field)" 。
$this->db->select_sum();
為你的查詢編寫一個 "SELECT SUM(field)" 。
$this->db->join();
允許你編寫查詢中的JOIN部分。
$this->db->count_all_results();
允許你獲得某個特定的Active Record查詢所返回的結(jié)果數(shù)量。可以使用Active Record限制函數(shù),例如 where(), or_where(), like(), or_like() 等等。
插入數(shù)據(jù)
$this->db->insert();
生成一條基于你所提供的數(shù)據(jù)的SQL插入字符串并執(zhí)行查詢。你可以向函數(shù)傳遞 數(shù)組 或一個 對象。
$this->db->insert_batch();
一次插入多條數(shù)據(jù),生成一條基于你所提供的數(shù)據(jù)的SQL插入字符串并執(zhí)行查詢。你可以向函數(shù)傳遞 數(shù)組 或一個 對象。
$this->db->set();
本函數(shù)使您能夠設(shè)置inserts(插入)或updates(更新)值。它可以用來代替那種直接傳遞數(shù)組給插入和更新函數(shù)的方式。
更新數(shù)據(jù)
$this->db->update();
根據(jù)你提供的數(shù)據(jù)生成并執(zhí)行一條update(更新)語句。你可以將一個數(shù)組或者對象傳遞給本函數(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(刪除)語句。
$this->db->empty_table();
生成并執(zhí)行一條DELETE(刪除)語句。
$this->db->truncate();
生成并執(zhí)行一條TRUNCATE(截斷)語句。
鏈式方法
鏈式方法允許你以連接多個函數(shù)的方式簡化你的語法??紤]一下這個范例:
$this->db->select('title')->from('mytable')->where('id', $id)->limit(10, 20);
$query = $this->db->get();
說明: 鏈式方法只能在PHP 5下面運行。
查詢
$this->db->query();
要提交一個查詢,用以下函數(shù):
$this->db->query('YOUR QUERY HERE');
query() 函數(shù)以object(對象)的形式返回一個數(shù)據(jù)庫結(jié)果集。 當(dāng)使用 "read" 模式來運行查詢時, 你可以使用“顯示你的結(jié)果集”來顯示查詢結(jié)果; 當(dāng)使用 "write" 模式來運行查詢時, 將會僅根據(jù)執(zhí)行的成功或失敗來返回 TRUE 或 FALSE.
轉(zhuǎn)義查詢
$this->db->escape()這個函數(shù)將會確定數(shù)據(jù)類型,以便僅對字符串類型數(shù)據(jù)進行轉(zhuǎn)義。并且,它也會自動把數(shù)據(jù)用單引號括起來,所以你不必手動添加單引號,用法如下: $sql = "INSERT INTO table (title) VALUES(".$this->db->escape($title).")";
查詢輔助函數(shù)
$this->db->insert_id()
這個ID號是執(zhí)行數(shù)據(jù)插入時的ID。
$this->db->affected_rows()
當(dāng)執(zhí)行寫入操作(insert,update等)的查詢后,顯示被影響的行數(shù)。
$this->db->count_all();
計算出指定表的總行數(shù)并返回。在第一個參數(shù)中寫入被提交的表名。
生成查詢記錄集
result()
該方法執(zhí)行成功返回一個object 數(shù)組,失敗則返回一個空數(shù)組。
result_array()
該方法執(zhí)行成功時將記錄集作為關(guān)聯(lián)數(shù)組返回。失敗時返回空數(shù)組。
row()
該函數(shù)將當(dāng)前請求的第一行數(shù)據(jù)作為 object 返回。
你可以傳遞參數(shù)(參數(shù)是行的索引)以便獲得某一行的數(shù)據(jù)。比如我們要獲得第 5 行的數(shù)據(jù): $row = $query->row(4);
row_array()
功能與 row() 一樣, 區(qū)別在于該函數(shù)返回的是一個數(shù)組。
除此以外, 我們還可以使用下面的方法通過游標的方式獲取記錄:
$row = $query->first_row()
$row = $query->last_row()
$row = $query->next_row()
$row = $query->previous_row()
默認情況下他們將返回一個 object,同時你也可以傳遞參數(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ù)將會返回當(dāng)前請求的行數(shù)。
$query->num_fields()
該函數(shù)返回當(dāng)前請求的字段數(shù)(列數(shù)):
$query->free_result()
該函數(shù)將會釋放當(dāng)前查詢所占用的內(nèi)存并刪除其關(guān)聯(lián)的資源標識。
自動連接
“自動連接” 功能將在每個一頁面加載時被自動實例化數(shù)據(jù)庫類。要啟用“自動連接”,可在application/config/autoload.php中的 library 數(shù)組里添加 database:
$autoload['libraries'] = array('database');
手動連接
如果僅僅是一部分頁面要求數(shù)據(jù)庫連接,你可以在你有需要的函數(shù)里手工添加如下代碼或者在你的類里手工添加以供該類使用。
$this->load->database();
連接多數(shù)據(jù)庫
如果你需要同時連接多于一個的數(shù)據(jù)庫,你可以用以下方式來實現(xiàn):
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
表數(shù)據(jù)
$this->db->list_tables();
返回一個包含當(dāng)前連接數(shù)據(jù)庫中所有表名稱的數(shù)組。
$this->db->table_exists();
有時,在對某個表執(zhí)行操作之前,使用該函數(shù)判斷指定表是否存在很有用。返回一個布爾值。
數(shù)據(jù)庫工具類
重要提示: 初始化數(shù)據(jù)庫工具類之前,你的數(shù)據(jù)庫驅(qū)動必須已經(jīng)運行,因為工具類依賴于此。
加載工具類: $this->load->dbutil()
一旦初始化完畢,你可以通過 $this->dbutil 對象來訪問成員函數(shù):
$this->dbutil->list_databases()
$this->dbutil->database_exists();
$this->dbutil->xml_from_result($db_result)
$this->dbutil->backup()
數(shù)據(jù)庫緩存類
激活緩存需要三步:
1、在服務(wù)器上創(chuàng)建一個可寫的目錄以便保存緩存文件。
2、在文件 application/config/database.php 中$db['xxxx']['cachedir']設(shè)置其目錄。
3、激活緩存特性,可以在文件 application/config/database.php 中設(shè)置全局選項$db['xxxx']['cache_on']='TRUE',也可以用以本頁下面的方法手動設(shè)置。
一旦被激活,每一次含有數(shù)據(jù)庫查詢的頁面被加載時緩存就會自動發(fā)生。
當(dāng)有數(shù)據(jù)庫更新,我們需要刪除緩存文件
$this->db->cache_delete()
刪除緩存文件與特定網(wǎng)頁。如果你需要清除緩存后,更新您的數(shù)據(jù)庫
$this->db->cache_delete('/blog', 'comments');
注意,手冊上寫的是 $this->db->cache_delete('blog', 'comments');但根據(jù)實際測試應(yīng)該在控制器名字前加斜杠'/'才能正確執(zhí)行。
$this->db->cache_delete_all()
清除所有所有的緩存文件。
數(shù)據(jù)庫維護類
注意: 欲初始化數(shù)據(jù)庫維護類,請確保你的數(shù)據(jù)庫驅(qū)動已經(jīng)運行,因為該類依賴于數(shù)據(jù)庫驅(qū)動。
使用如下方法載入數(shù)據(jù)庫維護類:
$this->load->dbforge()
一旦初始化,就可以使用$this->dbforge 對象訪問類中函數(shù):
$this->dbforge->create_database('db_name')
允許你創(chuàng)建由第一個參數(shù)指定的數(shù)據(jù)庫。
$this->dbforge->drop_database('db_name')
允許你刪除由第一個參數(shù)指定的數(shù)據(jù)庫。
$this->dbforge->create_table('table_name');
聲明了字段和鍵之后,你就可以創(chuàng)建一個表。
看完上述內(nèi)容,你們掌握CodeIgniter怎么在php中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
標題名稱:CodeIgniter怎么在php中使用-創(chuàng)新互聯(lián)
地址分享:http://chinadenli.net/article40/doijho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、ChatGPT、品牌網(wǎng)站設(shè)計、面包屑導(dǎo)航、Google、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容