欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

新手请教PHP怎么批量获取POST值并存入数据库!

程序员文章站 2022-06-06 11:41:48
...
$data=array();
$data['a']=in($_POST['a']);
$data['b']=in($_POST['b']);
$data['c']=in($_POST['c]);
$data['d']=in($_POST['d']);
$data['aa']=in($_POST['aa']);
$data['a1']=in($_POST['a1']);
..................这里省略
model('xitong')->update("id=1",$data);

上面是一段正常更新数据库的PHP代码

但是,目前所遇到的问题是,为了需要,这个表里面的字段多达50多个。而像
$data['a']=in($_POST['a']);这样格式一行一行输入的话,感觉很不科学。
能不能做到按照字段名称批量获取post值并一同更新到数据库?


回复讨论(解决方案)

foreach($_POST as $key => $val){  //最好加上逻辑 过滤不是字段的  key  $data[$key] = in($val);}

foreach($_POST as $key => $val){  //最好加上逻辑 过滤不是字段的  key  $data[$key] = in($val);}

本人新手,能详细点吗,谢谢!

$fields = array('a','b','c','d');//你的字段foreach($fields as $val){ if(!empty($_POST[$val])){   $data[$val] = in($_POST[$val]);  }}

$fields = array('a','b','c','d');//你的字段foreach($fields as $val){ if(!empty($_POST[$val])){   $data[$val] = in($_POST[$val]);  }}

这种看明白了,
但是在2楼您回复的另外一种方式我试过了也可以用。但不知道两者有什么区别,用哪一张比较好。

第一种的话 如果 psot传了一个 数据库 没有的key 就会报错呀
所有我说要做字段过滤
如果不是 每次都是 插入 所有字段的话可以用这种方法

第二种的话 检查了每个字段都是不是有值
如果每次都是插入所有字段可以使用这种发放

各有各的好处 看使用的人 怎么用