【问题标题】:Store POST in new variable or use $_POST将 POST 存储在新变量中或使用 $_POST
【发布时间】:2016-06-10 08:04:55
【问题描述】:

通常我直接调用 POST 方法 $_POST 但如果我在新变量中分配 $_POST 变量,处理速度会更快吗?例如

方法一

/* $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()));

方法二

$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 是一个函数,它比变量/数组占用更多的资源。我认为使用变量或数组可以使处理速度更快。a

【问题讨论】:

  • 我认为速度差异会很小,但总体而言最好将帖子值分配给变量,这样您就可以对变量进行进一步的操作,例如转义它或其他东西。
  • 我认为 $this->db->insert(table, $_POST) 更简单高效
  • INSERT 查询中的 WHERE 条件??
  • 很高兴这只是我的错误。我没有注意到我同时使用了 insert 和 where 。我将其更改为更新。

标签: php codeigniter


【解决方案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

【讨论】:

  • 我已经使用了一个数组,只是没有注意到处理速度。
  • 就像更新查询一样,所有值都会自动转义,从而产生更安全的查询。并防止sql注入
猜你喜欢
  • 2017-01-03
  • 1970-01-01
  • 2015-04-21
  • 2013-11-08
  • 1970-01-01
  • 2015-06-25
  • 1970-01-01
  • 2023-03-09
  • 2018-05-09
相关资源
最近更新 更多