Php 在codeigniter 2中将POST数组格式化为SQL insert\update字符串

Php 在codeigniter 2中将POST数组格式化为SQL insert\update字符串,php,codeigniter,Php,Codeigniter,我试图在codeigniter中自动创建和提交表单 基本上,我想要的是找到一种方法来检查POST数组中的所有数据,并将其正确格式化为insert或update sql查询 问题是我不知道如何访问CI中的整个POST数组,我所知道的只是$this->input->POST(field\u name)方法,它只给你一个特定的字段 理想情况下,我希望将POST数组发送到$this->db->insert_string()或$this->db->update_string()来为我完成这项工作 我知道我

我试图在codeigniter中自动创建和提交表单

基本上,我想要的是找到一种方法来检查POST数组中的所有数据,并将其正确格式化为insert或update sql查询

问题是我不知道如何访问CI中的整个POST数组,我所知道的只是$this->input->POST(field\u name)方法,它只给你一个特定的字段

理想情况下,我希望将POST数组发送到$this->db->insert_string()或$this->db->update_string()来为我完成这项工作

我知道我仍然可以使用php原生$\u POST数组,但这不是推荐的,也不像CI的输入类那样安全

有人知道怎么做吗

谢谢, 阿莫斯

$keys=array\u keys($\u POST);
对于($i=0,$max=count($keys);$iinput->xss_clean($_POST[$keys[$i]]);
//做点什么
}  

最终我发现输入类会自动清理$\u POST数组(不是说XSS清理),因此使用
$this->input->POST(something)
的唯一好处是它会检查该键是否存在

因为我需要整个数组,所以不需要检查,可以安全地使用
$this->db->insert\u string($\u POST)

如果我希望XSS清理,您可以在配置中全局打开它,或者使用geocine的答案(我将混合使用他给出的两个示例)


如果您希望整个阵列使用XSS清理而不全局打开它,另一种方法是使用WanWizard的输入库扩展,可以在此处找到:

这是一个很好的解决方案,实际上,混合使用您给出的两个示例是一种很好的方法。但最终我发现输入类会自动清理$\u POST阵列(不是说XSS清理)使用$this->input->post(某物)的唯一好处是它会检查该键是否存在,而且因为我需要整个数组,所以我不太在乎,可以安全地使用$this->db->insert_string($\u post)。库不错。我希望通过检查我的答案以任何方式回答您的问题。干杯。
foreach($_POST as $key => $value) {
  $value = $this->input->post($key);
  //do something
}  
$keys = array_keys($_POST);
for($i=0,$max=count($keys);$i<=$max;$i++)
{
   $value = $this->input->xss_clean($_POST[$keys[$i]]);
   //do something
}