CodeIgniter 使用手冊版本 2.2.0


Query 補助函數

$this->db->insert_id()

當使用資料庫新增語法,會回傳ID值。

$this->db->affected_rows()

當您對資料庫使用新增或者是修改語法(insert,update,etc.),上述會回傳影響筆數.

注意: 在 MySQL 裡面使用 "DELETE FROM TABLE" 語法會回傳零筆資料。 在 database 類別有提供小技巧,它可以正確回傳影響的資料筆數。系統預設將此功能打開,但您可以在資料庫驅動檔案(database driver file)將它關閉.

$this->db->count_all();

取得特定表格所有行數。第一個參數請填入指定表格。 參考範例:

echo $this->db->count_all('my_table');

// 產生整數,如 25

$this->db->platform()

得到您使用的資料庫型態,例如(MySQL,MS SQL,Postgres,etc...):

echo $this->db->platform();

$this->db->version()

使用底下語法會得到資料庫版本型號:

echo $this->db->version();

$this->db->last_query();

回傳最後使用的查詢語法(回傳查詢字串,並非是查詢結果)。參考範例:

$str = $this->db->last_query();

// 產生: SELECT * FROM sometable....

底下有兩個函數可以幫助簡化撰寫新增(INSERTs)跟修改(UPDATEs)SQL語法。

$this->db->insert_string();

此函數簡化了新增資料SQL語法。它將會回傳正確格式的 Insert SQL 語法。參考範例:

$data = array('name' => $name,'email' => $email,'url' => $url);

$str = $this->db->insert_string('table_name',$data);

第一個參數請填入表格名稱,第二個參數填入要新增的資料陣列. 上述例子會產生如下:

INSERT INTO table_name (name,email,url) VALUES ('Rick','rick@example.com','example.com')

注意: 所有傳到這個函數的值都會自動跳脫(escape),以產生更安全的查詢。

$this->db->update_string();

此函數簡化了修改資料的SQL語法。它會回傳正確格式的 Update SQL 語法。參考範例:

$data = array('name' => $name,'email' => $email,'url' => $url);

$where = "author_id = 1 AND status = 'active'";

$str = $this->db->update_string('table_name',$data,$where);

第一個參數為表格名稱,第二個參數填入修改的資料陣列,第三個參數填入 where 條件語法。上述例子會產生如下:

UPDATE table_name SET name = 'Rick',email = 'rick@example.com',url = 'example.com' WHERE author_id = 1 AND status = 'active'

注意: 所有傳到這個函數的值都會自動跳脫(escape),以產生更安全的查詢。