php mysql 批量插入_php中如何执行批量插入数据到mysql

$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 = "insert into users(periods,uid,username,pv) VALUES ";

foreach($res as $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);

这样能行吗?没怎么用过批量操作数据库,请指导。

回复内容:

$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 = "insert into users(periods,uid,username,pv) VALUES ";

foreach($res as $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);

这样能行吗?没怎么用过批量操作数据库,请指导。

###代码大概像这样吧,手打的,没有测试###

php$sql = 'INSERT INTO TABLE (`u_uid`, `userid`,`status`,`confirm_time`,`pv_total`) VALUES';

foreach($arr as $k => $item) {

$sql .= '(' . $item['u_uid'] . ',' . $item['userid'] . ',' . $item['status'] . ',' . $item['confirm_time'] . ',' . $item['pv_total'] . '),';

}

$sql = rtrim($sql, ',');

对,就是这样的。

sqlINSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....),(值1, 值2,....),(值1, 值2,....)

其实编程这玩意儿,你试试看就知道可不可行了。

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值