PHP CI框架 result 詳解

2022-05-19 13:36:03 字數 2870 閱讀 5079

該方法執行成功返回乙個物件陣列,失敗則返回乙個空陣列。 一般情況下,我們使用下面的方法遍歷結果,**就像這樣:

$query = $this->db->query("要執行的 sql");

foreach ($query->result() as $row)

本函式的別名是 result_object()。

如果當前所執行的 sql 可能不會返回記錄集,我們可以使用如下方法進行判斷:

$query = $this->db->query("

要執行的 sql");

if ($query->num_rows() > 0

)}

你可以傳遞乙個字串給result()函式,該字串代表著某個類為每乙個result物件進行例項化 (注意:該類必須已經被載入)。

$query = $this->db->query("

select * from users;");

foreach ($query->result('

user

') as

$row)

該方法執行成功時將記錄集作為關聯陣列返回。失敗時返回空陣列。一般情況下,我們使用下面的方法遍歷結果,**就像這樣:

$query = $this->db->query("

要執行的 sql");

foreach ($query->result_array() as

$row)

該函式將當前請求的第一行資料作為 object 返回。這裡是示例**:

$query = $this->db->query("

要執行的 sql");

if ($query->num_rows() > 0

)

你可以傳遞引數(引數是行的索引)以便獲得某一行的資料。比如我們要獲得第 5

行的資料:

$row = $query->row(4

);如果傳入的引數超出行索引,則返回第一行(索引為0)資料

你也可以新增乙個字串引數,它是乙個類在row()函式下例項化的名字:

$query = $this->db->query("

select * from users limit 1;");

$query->row(0, '

user')

echo $row->name; //

call attributes

echo $row->reverse_name(); //

or methods defined on the 'user' class

功能與 row() 一樣, 區別在於該函式返回的是乙個陣列:

$query = $this->db->query("

要執行的 sql");

if ($query->num_rows() > 0

)你可以傳遞引數(引數是行的索引)以便獲得某一行的資料。比如我們要獲得第

5行的資料:

$row = $query->row_array(4

);如果傳入的引數超出行索引,則返回第一行(索引為0)資料

除此以外, 我們還可以使用下面的方法通過游標的方式獲取記錄:

$row = $query->first_row()

$row = $query->last_row()

$row = $query->next_row()

$row = $query->previous_row()

預設情況下他們將返回乙個

object,同時你也可以傳遞引數 "

array

"以便使用 array 的方式獲取資料

$row = $query->first_row('

array')

$row = $query->last_row('

array')

$row = $query->next_row('

array')

$row = $query->previous_row('

array

')

該函式將會返回當前請求的行數。在本例子中, $query 表示當前 sql 所產生的請求結果物件:

$query = $this->db->query('

select * from my_table');

echo $query->num_rows();

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

$query = $this->db->query('

select * from my_table');

echo $query->num_fields();

該函式將會釋放當前查詢所占用的記憶體並刪除其關聯的資源標識。通常來說,php 將會指令碼執行結束後自動釋放記憶體。如果當前執行的請求將要花很長時間並且占用比較大的資源時,該函式可以在一定程度上降低資源的消耗:

$query = $this->db->query('

select title from my_table');

foreach ($query->result() as

$row)

$query->free_result(); //

$query 將不再可用

$query2 = $this->db->query('

select name from some_table');

$row = $query2->row();

echo $row->name;

$query2->free_result(); //

$query2 將不再可用

PHP CI框架配置

今天總算把php ci的nginx配置給搞好了,按照下面的配置來就可以了 先安裝nginx,然後修改 etc nginx nginx.conf,裡面加上include etc nginx conf.d conf 然後在 etc nginx conf.d 目錄裡面新增乙個moke.conf 按照下面的...

PHP CI框架學習

一直沉不下心,最近心比較亂。剛跨過乙個坎,現在努力一把吧。ci框架主頁 乙個非常輕量級的框架,mvc那是必須的。不多說。今天主要了解了下它的執行模式。建立了控制器 cat abc.php class abc extends ci controller function view a,b,c 檢視 c...

php CI框架入門

顯示2.控制器認識 controller是框架控制器資料夾 我們來寫一下自己的控制器,控制器檔名要和類名一直,類名首字母大寫 test.php檔案 defined basepath or exit no direct script access allowed class test extends ...