我有一個項目在笨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我不知道如何檢查(更新,選擇,插入,刪除...)。
我有一個項目在笨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我不知道如何檢查(更新,選擇,插入,刪除...)。
從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;
}
請留下一些評論downvoter ...將有助於提高 – devpro
$query = $this->db->query("SELECT * FROM my_table");
$dataSet = array();
if ($query->num_rows() > 0)
{
$dataSet = $query->result();
}
print_r($dataSet);
插入,更新
$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
{
}
更新或刪除總是會提供'affected_rows()'結果1嗎?如果是這樣,那麼必須有一個錯誤,因爲可以通過查詢更新或刪除多行,並且您希望'affected_rows()'結果反映出 – gabe3886
沒有抱歉是我的錯誤檢查更新ans –
@ gabe3886 affected_rows( )返回有多少行更新或插入....我有更新我的答案謝謝 –
閱讀[手冊冊(http://www.codeigniter.com/user_guide/database/query_builder。html#selecting-data) – Saty
檢查我更新的ans –