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

WBOY
發布: 2016-06-23 14:00:39
原創
1456 人瀏覽過

$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 就会报错呀
所有我说要做字段过滤
如果不是 每次都是 插入 所有字段的话可以用这种方法

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

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板