2016-01-12 66 views
1

我有一個項目在笨2.0和我使用:如何檢查CodeIgniter 3.0.3中的查詢(刪除,更新,選擇,插入)?

$query = $this->db->query('select * FROM my_table'); 

if($query->num_rows()==1) return true; else return false; 

但笨3.0.3我不知道如何檢查(更新,選擇,插入,刪除...)。

+0

閱讀[手冊冊(http://www.codeigniter.com/user_guide/database/query_builder。html#selecting-data) – Saty

+0

檢查我更新的ans –

回答

0

從Cogidignitor用戶指南3:

對於選擇:

查詢返回的行數。注意:在這個例子中,$查詢變量,查詢結果對象被分配到:

$query = $this->db->query('SELECT * FROM my_table'); 
if($query->num_rows() > 0){ 
    return true; 
} 
else{ 
    return false; 
} 

對於UPDATE & INSERT語句:受影響的行

$this->db->affected_rows() 

顯示數,當做「寫」類型的查詢時 (插入,更新等)。

例子:

$this->db->update('UPDATE statement'); 
$this->db->affected_rows(); 

$this->db->insert('INSERT statement'); 
$this->db->affected_rows(); 

備用的INSERT:

您還可以使用最後插入的id,如:

$this->db->insert('INSERT statement'); 
$id = $this->db->insert_id(); 

if($id > 0){ 
    return true; 
} 
else{ 
return false; 
} 

對於刪除:

的結果DELETE總是返回true,如果查詢執行其他虛假,affected_rows也將返回相同的:

$this->db->delete('DELETE statement'); 

if($this->db->affected_rows()){ 
    return true; 
} 
else{ 
    return false; 
} 
+1

請留下一些評論downvoter ...將有助於提高 – devpro

0
$query = $this->db->query("SELECT * FROM my_table"); 
$dataSet = array(); 
if ($query->num_rows() > 0) 
{ 
    $dataSet = $query->result(); 
} 

print_r($dataSet); 
1

插入,更新

$this->db->affected_rows();顯示受影響的行數,當

做「寫」類型的查詢(INSERT,UPDATE,等)。

if ($this->db->affected_rows() > 0) 
    { 
    return TRUE; 
    } 
    else 
    { 
    return FALSE; 
    } 

的選擇

做「中選擇」類型的查詢(INSERT,UPDATE,等)。

if ($query->num_rows() > 0) 
    { 
     $dataSet = $query->result(); 
    } 

進行刪除

$res = $this->a_model->delete_product($id); // example delete 

if($res == FALSE) 
{ 
}else 
{ 
} 
+0

更新或刪除總是會提供'affected_rows()'結果1嗎?如果是這樣,那麼必須有一個錯誤,因爲可以通過查詢更新或刪除多行,並且您希望'affected_rows()'結果反映出 – gabe3886

+0

沒有抱歉是我的錯誤檢查更新ans –

+0

@ gabe3886 affected_rows( )返回有多少行更新或插入....我有更新我的答案謝謝 –