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

WBOY
Lepaskan: 2016-06-23 14:00:39
asal
1456 orang telah melayarinya

$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);}
Salin selepas log masuk
Salin selepas log masuk

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

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

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

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

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

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

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

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

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan