日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

CodeIgniter笔记4

發(fā)布時間:2025/3/19 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CodeIgniter笔记4 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

自動連接數(shù)據(jù)庫

在使用數(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();

運行選擇查詢語句并且返回結果集。可以獲取一個表的全部數(shù)據(jù)。

$this->db->like();

$this->db->or_like();

$this->db->not_like();

本函數(shù)允許你生成?LIKE?子句,在做查詢時非常有用,其余語法請看手冊。

$this->db->order_by();

幫助你設置一個?ORDER?BY?子句。

$this->db->group_by();

允許你編寫查詢語句中的?GROUP?BY?部分:

$this->db->distinct();

為查詢語句添加?"DISTINCT"?關鍵字:

$this->db->having();

允許你為你的查詢語句編寫?HAVING?部分。

$this->db->limit();

限制查詢所返回的結果數(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查詢所返回的結果數(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ù)使您能夠設置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ù)庫結果集。?當使用?"read"?模式來運行查詢時,?你可以使用顯示你的結果集來顯示查詢結果;?當使用?"write"?模式來運行查詢時,?將會僅根據(jù)執(zhí)行的成功或失敗來返回?TRUE?或?FALSE.?

?

轉義查詢

$this->db->escape()這個函數(shù)將會確定數(shù)據(jù)類型,以便僅對字符串類型數(shù)據(jù)進行轉義。并且,它也會自動把數(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()

當執(zhí)行寫入操作(insert,update等)的查詢后,顯示被影響的行數(shù)。

$this->db->count_all();

計算出指定表的總行數(shù)并返回。在第一個參數(shù)中寫入被提交的表名。

生成查詢記錄集

result()

該方法執(zhí)行成功返回一個object?數(shù)組,失敗則返回一個空數(shù)組。

result_array()

該方法執(zhí)行成功時將記錄集作為關聯(lián)數(shù)組返回。失敗時返回空數(shù)組。

row()

該函數(shù)將當前請求的第一行數(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')

?

結果集輔助函數(shù)

$query->num_rows()

該函數(shù)將會返回當前請求的行數(shù)。

$query->num_fields()

該函數(shù)返回當前請求的字段數(shù)(列數(shù)):

$query->free_result()

該函數(shù)將會釋放當前查詢所占用的內存并刪除其關聯(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();

返回一個包含當前連接數(shù)據(jù)庫中所有表名稱的數(shù)組。

$this->db->table_exists();

有時,在對某個表執(zhí)行操作之前,使用該函數(shù)判斷指定表是否存在很有用。返回一個布爾值

?

數(shù)據(jù)庫工具類

重要提示:??初始化數(shù)據(jù)庫工具類之前,你的數(shù)據(jù)庫驅動必須已經(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在服務器上創(chuàng)建一個可寫的目錄以便保存緩存文件。

2在文件?application/config/database.php?$db['xxxx']['cachedir']設置其目錄。

3激活緩存特性,可以在文件?application/config/database.php?中設置全局選項$db['xxxx']['cache_on']='TRUE',也可以用以本頁下面的方法手動設置。

一旦被激活,每一次含有數(shù)據(jù)庫查詢的頁面被加載時緩存就會自動發(fā)生。

?

?

?

當有數(shù)據(jù)庫更新,我們需要刪除緩存文件

$this->db->cache_delete()

刪除緩存文件與特定網(wǎng)頁。如果你需要清除緩存后,更新您的數(shù)據(jù)庫

$this->db->cache_delete('/blog',?'comments');

注意,手冊上寫的是?$this->db->cache_delete('blog',?'comments');但根據(jù)實際測試應該在控制器名字前加斜杠'/'才能正確執(zhí)行。

$this->db->cache_delete_all()

清除所有所有的緩存文件。

?

數(shù)據(jù)庫維護類

注意:??欲初始化數(shù)據(jù)庫維護類,請確保你的數(shù)據(jù)庫驅動已經(jīng)運行,因為該類依賴于數(shù)據(jù)庫驅動。

使用如下方法載入數(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)建一個表

轉載于:https://my.oschina.net/crisslin/blog/115136

總結

以上是生活随笔為你收集整理的CodeIgniter笔记4的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。