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

directory search
Array Array Helper Benchmarking Benchmarking Class Caching Caching Driver Calendaring Calendaring Class CAPTCHA CAPTCHA Helper Config Config Class Cookie Cookie Helper Database Connecting to your Database Custom Function Calls Database Caching Class Database Configuration Database Forge Class Database Metadata Database Quick Start: Example Code Database Reference Database Utility Class DB Driver Reference Generating Query Results Queries Query Builder Class Query Helper Methods Transactions Date Date Helper Directory Directory Helper Download Download Helper Email Email Class Email Helper Encrypt Encrypt Class Encryption Encryption Library File File Helper File Uploading File Uploading Class Form Form Helper Form Validation Form Validation FTP FTP Class Functions compatibility_functions common_functions HTML HTML Helper HTML Table HTML Table Class Image Manipulation Image Manipulation Class Inflector Inflector Helper Input Input Class Javascript Javascript Class Language Language Class Language Helper Loader Loader Class Migrations Migrations Class Number Number Helper Output Output Class Pagination Pagination Class Path Path Helper Security Security Class Security Helper Session Session Library Shopping Cart Shopping Cart Class Smiley Smiley Helper String String Helper Template Parser Template Parser Class Text Text Helper Trackback Trackback Class Typography Typography Class Typography Helper Unit Testing Unit Testing Class URI URL User Agent XML XML-RPC and XML-RPC Server Zip Encoding Zip Encoding Class XML-RPC and XML-RPC Server Classes XML Helper User Agent Class URL Helper URI Class
characters

有幾種方法可以生成查詢結(jié)果:

  • 結(jié)果數(shù)組

  • 結(jié)果行

  • 自定義結(jié)果對象

  • 結(jié)果幫助法

  • 類引用

結(jié)果數(shù)組

結(jié)果()

方法將查詢結(jié)果作為對象,或空數(shù)組在失敗的時候。通常,您將在foreach循環(huán)中使用此方法,如下所示:

$query = $this->db->query("YOUR QUERY");foreach ($query->result() as $row){
        echo $row->title;
        echo $row->name;
        echo $row->body;}

上面的方法是result_object()...

您還可以傳遞一個字符串,result()該字符串表示要為每個結(jié)果對象實例化的類(請注意:必須加載此類)

$query = $this->db->query("SELECT * FROM users;");foreach ($query->result('User') as $user){
        echo $user->name; // access attributes
        echo $user->reverse_name(); // or methods defined on the 'User' class}

result_array()

此方法將查詢結(jié)果作為純數(shù)組返回,或在未產(chǎn)生結(jié)果時返回空數(shù)組。通常你會在foreach循環(huán)中使用它,如下所示:

$query = $this->db->query("YOUR QUERY");foreach ($query->result_array() as $row){
        echo $row['title'];
        echo $row['name'];
        echo $row['body'];}

結(jié)果行

行()

此方法返回單個結(jié)果行。如果查詢有多行,則只返回第一行。結(jié)果作為對象這里有一個用法示例:

$query = $this->db->query("YOUR QUERY");$row = $query->row();if (isset($row)){
        echo $row->title;
        echo $row->name;
        echo $row->body;}

如果希望返回特定行,可以在第一個參數(shù)中以數(shù)字形式提交行號:

$row = $query->row(5);

還可以添加第二個字符串參數(shù),該參數(shù)是要實例化行的類的名稱:

$query = $this->db->query("SELECT * FROM users LIMIT 1;");
$row = $query->row(0, 'User');
echo $row->name; // access attributesecho 
$row->reverse_name(); // or methods defined on the 'User' class

row_array()

與上述相同row()方法,但它返回一個數(shù)組。例子:

$query = $this->db->query("YOUR QUERY");$row = $query->row_array();if (isset($row)){
        echo $row['title'];
        echo $row['name'];
        echo $row['body'];}

如果希望返回特定行,可以在第一個參數(shù)中以數(shù)字形式提交行號:

$row = $query->row_array(5);

另外,您可以使用以下變體,通過結(jié)果前進/后退/前進/后退:

默認情況下,它們返回一個對象,除非您在參數(shù)中添加單詞“Array”:

上面的所有方法都會將整個結(jié)果加載到內(nèi)存中(預?。J褂?code>unbuffered_row()用于處理大型的結(jié)果集。

unbuffered_row()

此方法返回一個結(jié)果行,而無需將內(nèi)存中的整個結(jié)果預取為row()是的。如果查詢有多行,則返回當前行并向前移動內(nèi)部數(shù)據(jù)指針。

$query = $this->db->query("YOUR QUERY");while ($row = $query->unbuffered_row()){
        echo $row->title;
        echo $row->name;
        echo $row->body;}

您可以選擇傳遞'object'(默認)或'array'來指定返回值的類型:

$query->unbuffered_row();               // object
$query->unbuffered_row('object');       // object
$query->unbuffered_row('array');        // associative array

自定義結(jié)果對象

可以將結(jié)果作為自定義類的實例而不是stdClass或數(shù)組,如result()result_array()方法允許。這要求類已經(jīng)加載到內(nèi)存中。對象將將從數(shù)據(jù)庫返回的所有值設(shè)置為屬性。如果已經(jīng)聲明了這些信息,并且是非公共的,那么您應(yīng)該提供一個__set()方法以允許設(shè)置它們。

例子:

class User {        
    public $id;        
    public $email;        
    public $username;        
    protected $last_login;        
    public function last_login($format)        {                
        return $this->last_login->format($format);        
    }        
    public function __set($name, $value)       {                
            if ($name === 'last_login'){
                            $this->last_login = DateTime::createFromFormat('U', $value);                
            }        
    }        
    public function __get($name)        {                
        if (isset($this->$name)){                        
                return $this->$name;                
            }        
    }
}

除了下面列出的兩個方法之外,下列方法還可以以類名返回結(jié)果:first_row(),,,last_row(),,,next_row(),和previous_row()...

custom_result_object()

將整個結(jié)果集作為請求類的實例數(shù)組返回。唯一的參數(shù)是要實例化的類的名稱。

例子:

$query = $this->db->query("YOUR QUERY");$rows = $query->custom_result_object('User');foreach ($rows as $row){
        echo $row->id;
        echo $row->email;
        echo $row->last_login('Y-m-d');}

custom_row_object()

從查詢結(jié)果中返回一行。第一個參數(shù)是結(jié)果的行號。第二個參數(shù)是要實例化的類名。

例子:

$query = $this->db->query("YOUR QUERY");$row = $query->custom_row_object(0, 'User');if (isset($row)){
        echo $row->email;   // access attributes
        echo $row->last_login('Y-m-d');   // access class methods}

您還可以使用row()方法完全相同。

例子:

$row = $query->custom_row_object(0, 'User');

結(jié)果助手方法

NUM_ROWS()

查詢返回的行數(shù)。注意:在本例中,$query是指定查詢結(jié)果對象的變量:

$query = $this->db->query('SELECT * FROM my_table');echo $query->num_rows();

并非所有數(shù)據(jù)庫驅(qū)動程序都有獲取結(jié)果集總行數(shù)的原生方法。在這種情況下,所有數(shù)據(jù)都會被預取,并且count()對結(jié)果數(shù)組進行手動調(diào)用,以獲得相同的結(jié)果。

NUM_FIELDS()

查詢返回的FIELDS(列)的數(shù)量。確保使用查詢結(jié)果對象調(diào)用該方法:

$query = $this->db->query('SELECT * FROM my_table');echo $query->num_fields();

free_result()

它釋放與結(jié)果關(guān)聯(lián)的內(nèi)存,并刪除結(jié)果資源ID。通常,PHP在腳本執(zhí)行結(jié)束時會自動釋放其內(nèi)存。但是,如果在特定腳本中運行大量查詢,則可能希望在生成每個查詢結(jié)果后釋放結(jié)果,以減少內(nèi)存消耗。

例子:

$query = $this->db->query('SELECT title FROM my_table');
    foreach ($query->result() as $row){
        echo $row->title;
        }
$query->free_result();  // The $query result object will no longer be available
$query2 = $this->db->query('SELECT name FROM some_table');
$row = $query2->row();
echo $row->name;
$query2->free_result(); // The $query2 result object will no longer be available

data_seek()

此方法設(shè)置要獲取的下一個結(jié)果行的內(nèi)部指針。它只有結(jié)合使用時才有用。unbuffered_row()...

它接受一個正整數(shù)值,默認值為0,如果成功返回true,失敗時返回false。

$query = $this->db->query('SELECT `field_name` FROM `table_name`');
$query->data_seek(5); // Skip the first 5 rows
$row = $query->unbuffered_row();

并非所有數(shù)據(jù)庫驅(qū)動程序都支持此功能,并將返回false。最值得注意的是-你將無法使用它與PDO。

類引用

class CI_DB_resultresult([$type = 'object'])

參數(shù):

$ type(string) - 請求結(jié)果的類型 - 數(shù)組,對象或類名

返回:

包含提取的行的數(shù)組

返回類型:

排列

  • $ typestring) - 所請求結(jié)果的類型 - 數(shù)組,對象或類名返回:包含獲取行的數(shù)組返回類型:數(shù)組包和result_array()result_object()custom_result_object()方法。用法:查看結(jié)果數(shù)組。result_array()返回:包含提取的rows的數(shù)組result_object()返回類型:數(shù)組返回:包含提取的rows的數(shù)組返回類型:數(shù)組custom_result_object($class_name)參數(shù):$ class_name(string) - 結(jié)果的類名rowsReturns:包含提取的行的數(shù)組返回類型:數(shù)組

  • $ class_namestring) - 結(jié)果行的類名

返回:包含提取的行的數(shù)組
返回類型:數(shù)組
以行數(shù)組形式返回查詢結(jié)果,其中每行都是指定類的實例。

row([$n = 0[, $type = 'object']])

參數(shù):

$ n(int) - 要返回的查詢結(jié)果行的索引$ type(string) - 請求結(jié)果的類型 - 數(shù)組,對象或類名

返回:

請求的行或NULL,如果它不存在

返回類型:

  • $ nint) - 要返回的查詢結(jié)果行的索引

  • $ typestring) - 請求結(jié)果的類型 - 數(shù)組,對象或類名

返回:請求的行,如果不存在,則返回NULL
Return type:  mixed
A wrapper for the `row_array()`, `row_object() and ``custom_row_object()` methods.

用法:見結(jié)果行...

unbuffered_row([$type = 'object'])

參數(shù):

$ type(string) - 請求結(jié)果的類型 - 數(shù)組,對象或類名

返回:

結(jié)果集中的下一行,如果不存在則為NULL

返回類型:

  • $ typestring) - 請求的結(jié)果的類型 - 數(shù)組,對象或類名返回:結(jié)果集中的下一行或者NULL(如果不存在)返回類型:混合獲取下一個結(jié)果行并將其返回到請求中形成。用法:查看結(jié)果行。row_array([$n = 0])參數(shù):$ n(int) - 要返回的查詢結(jié)果行的索引返回:請求的行或NULL,如果它不存在返回類型:數(shù)組

  • $ nint) - 要返回的查詢結(jié)果行的索引

返回:請求的行,如果不存在,則返回NULL
返回類型:數(shù)組
以關(guān)聯(lián)數(shù)組形式返回請求的結(jié)果行。

用法:見結(jié)果行...

row_object([$n = 0])

參數(shù):

$ n(int) - 要返回的查詢結(jié)果行的索引

返回:

請求的行或NULL,如果它不存在

返回類型:

stdClass的

  • $ nint) - 要返回的查詢結(jié)果行的索引返回:請求的行,如果不存在,則返回NULL返回類型:stdClass將請求的結(jié)果行作為類型對象返回stdClass。用法:查看結(jié)果行。custom_row_object($n, $type)參數(shù):$ n(int) - 要返回的結(jié)果行的索引$ class_name(字符串) - 結(jié)果行的類名rowReturns:所請求的行或NULL,如果不存在返回類型:$ type

  • $ nint) - 要返回的結(jié)果行的索引

  • $ class_namestring) - 結(jié)果行的類名稱

返回:請求的行,如果不存在,則返回NULL
返回類型:$ type
將請求的結(jié)果行作為請求的類的實例返回。

data_seek([$n = 0])

參數(shù):

$ n(int) - 接下來要返回的結(jié)果行的索引

返回:

成功為TRUE,失敗為FALSE

返回類型:

布爾

  • $ nint) - 下一個要返回的結(jié)果行的索引返回:成功時為TRUE,失敗時為FALSE返回類型:bool將內(nèi)部結(jié)果行指針移動到所需偏移量。用法:請參閱結(jié)果助手方法。set_row($key[, $value = NULL])參數(shù):$ key(mixed) - 列名或鍵/值對的數(shù)組$ value(mixed) - 要分配給列的值,$ key是單個字段名稱返回類型:void

  • $ keymixed) - 列名或鍵/值對的數(shù)組

  • $ valuemixed) - 要分配給列的值,$ key是單個字段名稱

Return type:  void
將值分配給特定的列。

next_row([$type = 'object'])

參數(shù):

$ type(string) - 請求結(jié)果的類型 - 數(shù)組,對象或類名

返回:

結(jié)果集的下一行,如果不存在,則為NULL

返回類型:

  • $ typestring) - 請求結(jié)果的類型 - 數(shù)組,對象或類名返回:結(jié)果集的下一行;如果不存在,則返回NULL返回類型:混合返回結(jié)果集中的下一行。previous_row([$type = 'object'])參數(shù):$ type(string) - 請求結(jié)果的類型 - 數(shù)組,對象或類nameReturns:結(jié)果集的上一行,如果不存在則返回NULL返回類型:混合

  • $ typestring) - 請求結(jié)果的類型 - 數(shù)組,對象或類名

返回:結(jié)果集的上一行,如果不存在則返回NULL
Return type:  mixed
返回結(jié)果集中的前一行。

first_row([$type = 'object'])

參數(shù):

$ type(string) - 請求結(jié)果的類型 - 數(shù)組,對象或類名

返回:

結(jié)果集的第一行,如果不存在則為NULL

返回類型:

  • $ typestring) - 請求結(jié)果的類型 - 數(shù)組,對象或類名返回:結(jié)果集的第一行,如果不存在,則返回NULL返回類型:混合返回結(jié)果集中的第一行。last_row([$type = 'object'])參數(shù):$ type(string) - 請求結(jié)果的類型 - 數(shù)組,對象或類nameReturns:結(jié)果集的最后一行,如果不存在則返回NULL返回類型:混合

  • $ typestring) - 請求結(jié)果的類型 - 數(shù)組,對象或類名

返回:結(jié)果集的最后一行,如果不存在,則返回NULL
Return type:  mixed
返回結(jié)果集中的最后一行。

num_rows()

返回:

結(jié)果集中的行數(shù)

返回類型:

INT

num_fields()

返回:

結(jié)果集中的字段數(shù)

返回類型:

INT

field_data()

返回:

包含字段元數(shù)據(jù)的數(shù)組

返回類型:

排列

free_result()

Return type:

void

list_fields()

返回:

列名稱數(shù)組

返回類型:

排列

Previous article: Next article: