$arr=Array([0]=>Array([u_id]=>1[userid]=>feng003[status]=>3[confirm_time]=>1427940803[pv_total]=>0.00)[1]=>Array([u_id]=>1[userid]=>feng003[status]=>3[confirm_time]=>1428477888[pv_total]=>0.00)[2]=>Array([u_id]=>1[userid]=>feng003[status]=>3[confirm_time]=>1428475892[pv_total]=>0.00)[3]=>Array([u_id]=>2[userid]=>feng001[status]=>3[confirm_time]=>1428482901[pv_total]=>0.00)[4]=>Array([u_id]=>2[userid]=>feng001[status]=>3[confirm_time]=>1428483116[pv_total]=>0.00)[5]=>Array([u_id]=>1[userid]=>feng003[status]=>3[confirm_time]=>1428483542[pv_total]=>20.00)[6]=>Array([u_id]=>1[userid]=>feng003[status]=>3[confirm_time]=>1428475881[pv_total]=>40.00)[7]=>Array([u_id]=>5[userid]=>feng005[status]=>3[confirm_time]=>1428474458[pv_total]=>100.00)[8]=>Array([u_id]=>4[userid]=>feng004[status]=>3[confirm_time]=>1428475275[pv_total]=>100.00)[9]=>Array([u_id]=>3[userid]=>feng002[status]=>3[confirm_time]=>1428475478[pv_total]=>100.00)[10]=>Array([u_id]=>2[userid]=>feng001[status]=>3[confirm_time]=>1428475622[pv_total]=>100.00)[11]=>Array([u_id]=>6[userid]=>feng006[status]=>3[confirm_time]=>1428479200[pv_total]=>100.00)[12]=>Array([u_id]=>6[userid]=>feng006[status]=>3[confirm_time]=>1428483519[pv_total]=>40.00));$count=count($res);$sql="insertintousers(periods,uid,username,pv)VALUES";foreach($resas$key=>$vo){if($key==$count-1){$sql.="(".$periods.",".$vo['u_id'].",'".$vo['userid']."',".$vo['pv_total'].")";}else{$sql.="(".$periods.",".$vo['u_id'].",'".$vo['userid']."',".$vo['pv_total']."),";}};M()->query($sql);这样能行吗?没怎么用过批量操作数据库,请指导。
2 回答
RISEBY
TA贡献1856条经验 获得超5个赞
###代码大概像这样吧,手打的,没有测试###php$sql='INSERTINTOTABLE(`u_uid`,`userid`,`status`,`confirm_time`,`pv_total`)VALUES';foreach($arras$k=>$item){$sql.='('.$item['u_uid'].','.$item['userid'].','.$item['status'].','.$item['confirm_time'].','.$item['pv_total'].'),';}$sql=rtrim($sql,',');
弑天下
TA贡献1818条经验 获得超8个赞
对,就是这样的。sqlINSERTINTOtable_name(列1,列2,...)VALUES(值1,值2,....),(值1,值2,....),(值1,值2,....)其实编程这玩意儿,你试试看就知道可不可行了。
添加回答
举报
0/150
提交
取消