PHP怎么 实现批量添加数据

PHP怎么 实现批量添加数据,第1张

在HTML里这样写:

1

2

3

4

5

6

<form ........

<input type="text" name="haoma[]" />

<input type="text" name="haoma[]" />

<input type="text" name="haoma[]" />

....

第N个

foreach($_POST['haoma'] as $v){

$sql="insert into haoma values('',$v)"

.......

}

当然这样写一条一条的效率是会慢,再改一下

foreach($_POST['haoma'] as $v){

$values.="('',$v),"

}

$values=substr($values,0,strlen($values)-1)

$sql="insert into haoma values $values"

......

下面的query我就不写了

if ($strleng>100){

    //如果大于100条就每次写入100,休息1秒,然后继续写,直到写完为止

    $write_count = floor($strleng/100)

    while ($write_count > 0){

        for ($i=0$i<100$i++){

            echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)"//写100次就休息

        }

        //echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9)"这样可以一次插入多条数据,效率更高

        //参考https://dev.mysql.com/doc/refman/5.7/en/insert.html

        $write_count -=1 

        sleep(1)

        echo '休息1秒'

    }

}

PHP框架LaravelEloquentORM批量插入数据是通过传入数组实现的。比如:DB::table('users')->insert(array(array('email'=>'[email protected]','votes'=>0),array('email'=>'[email protected]','votes'=>0),))以上是 *** 作表users,执行insert语句,参数是一个数组,封装了两条数据,这里可以自定义数据,insert内部就编程批量插入了。然后调用save方法:publicstaticfunctioncreate(array$attributes){$model=newstatic($attributes)$model->save()return$model}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11381430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存