php pdo-insert,php mysql pdo insert multiple rows 批量插入

DEMO:

// 批量插入DEMO

$dbhost="127.0.0.1";

$dbuser="root";

$dbpwd="123456";

$dbname="testa";

$option[PDO::MYSQL_ATTR_INIT_COMMAND]='SET SESSION sql_mode =REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@@sql_mode,"STRICT_ALL_TABLES,", ""),",STRICT_ALL_TABLES", ""),"STRICT_ALL_TABLES", ""),"STRICT_TRANS_TABLES,", ""),",STRICT_TRANS_TABLES", ""),"STRICT_TRANS_TABLES", "")';

$option['PDO::ATTR_ERRMODE']=PDO::ERRMODE_EXCEPTION;

$pdo = new PDO("mysql:host={$dbhost};dbname={$dbname}", $dbuser, $dbpwd, $option);

$data = [

['strs'=>'abc','time'=>1],

['strs'=>'abc2','time'=>2],

['strs'=>'abc3','time'=>3],

['strs'=>'abc4','time'=>4],

['strs'=>'abc5','time'=>5],

['strs'=>'abc6','time'=>6],

['strs'=>'abc7','time'=>7],

['strs'=>'abc8','time'=>8],

['strs'=>'abc9','time'=>9],

['strs'=>'abc10','time'=>10],

['strs'=>'abc11','time'=>11],

['strs'=>'abc12','time'=>12],

['strs'=>'abc13','time'=>13],

['strs'=>'abc14','time'=>14],

['strs'=>'abc15','time'=>15],

['strs'=>'abc16','time'=>16],

['strs'=>'abc17','time'=>17],

['strs'=>'abc18','time'=>18],

['strs'=>'abc19','time'=>19],

['strs'=>'abc20','time'=>20],

['strs'=>'abc21','time'=>21],

['strs'=>'abc22','time'=>22],

['strs'=>'abc23','time'=>23],

['strs'=>'abc24','time'=>24],

['strs'=>'abc25','time'=>25],

['strs'=>'abc26','time'=>26],

['strs'=>'abc27','time'=>27],

];

//array_chunk 实现的分页

$data_paged = array_chunk($data, 10);

foreach ($data_paged as $a_page){

$datafields_tmp = array_keys($a_page[0]);

$datafields = '('.implode(',',$datafields_tmp).')';

$values_tmp = [];

foreach($a_page as $d){

$values_tmp[]="('".implode("','",array_values($d))."')";

}

$values = implode(',',$values_tmp);

$tables = 'exceptions';

$sql = "insert into {$tables} {$datafields} values {$values}";

$pdo->query($sql);

}

echo "good";

// array_slice 实现的分页

$total = count( $data );

$limit = 10;

$totalPages = ceil( $total/ $limit );

for ($page = 1 ; $page <=$totalPages ; $page++){

$offset = ($page - 1) * $limit;

if( $offset < 0 )

{

$offset = 0;

}

$a_page = array_slice( $data, $offset, $limit );

$datafields_tmp = array_keys($a_page[0]);

$datafields = '('.implode(',',$datafields_tmp).')';

$values_tmp = [];

foreach($a_page as $d){

$values_tmp[]="('".implode("','",array_values($d))."')";

}

$values = implode(',',$values_tmp);

$tables = 'exceptions';

$sql = "insert into {$tables} {$datafields} values {$values}";

$pdo->query($sql);

}

echo "good1";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值