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),以產生更安全的查詢。
自:http://www.codeigniter.org.tw/user_guide/database/helpers.html
留言列表