2016-06-10 39 views
0

通常我直接調用POST方法$ _POST,但是如果將新變量中的$ _POST變量賦值,進程速度會更快嗎?例如

方法1

/* $this->input->post('name') */ 
$this->db->where("name=".$this->input->post('name')); 
$this->db->update(table, $this->input->post('name')); 
$this->session->userdata(array("formdata", $this->input->post())); 

方法2

$name = $this->input->post('name'); 
$this->db->where("name=".$name); 
$this->db->update(table, $name); 
$this->session->userdata(array("formdata", $this->input->post())); 

哪種方法過程更快?

注意:對不起,我不明白過程如何深入工作。我有大約30個輸入。上面的查詢只是一個例子。在sql插入/更新之前有多個過濾和處理部分。從我所知道的$ _POST是一個函數,它比變量/數組需要更多的資源。我認爲使用變量或數組使處理速度faster.a

+1

我覺得速度差別將是最小的,但總體來說不如後賦值給變量,這樣你就可以做進一步的行動像轉義它的東西或變量。 – Swolschblauw

+0

我認爲$ this-> db-> insert(table,$ _POST)更簡單高效 – monterico

+0

WHERE條件在INSERT查詢中? – Saty

回答

1

最有效和更好的方法是

產生更新串並運行基於這些數據,您 提供查詢。您可以將數組或對象傳遞給該函數。下面是一個 例如使用數組:

$data = array(
     'title' => $this->input->post('title'), 
     'name' => $this->input->post('name'), 
     'date' => $this->input->post('date'), 
     // ....... and soo ON......... 
); 

$this->db->where('id', $this->input->post('title')); 
$this->db->update('mytable', $data); 

updating-data

+0

我讀了一個數組,我只是沒有注意到處理速度。 –

+0

這只是一個更新查詢需要額外的所有值都會自動轉義生成更安全的查詢。並防止sql注入 – Saty

+0

有太多額外的過濾器。我認爲調用$ _POST方法會使用更多的資源,因爲它是一個函數,調用數組或變量會更快,因爲它們不是函數。 –