美文网首页
php+mysqli批量添加简单易懂

php+mysqli批量添加简单易懂

作者: G加号 | 来源:发表于2023-09-11 11:32 被阅读0次

分享一下php+mysqli批量添加的方法

<?php
const DB_SERVERNAME = '数据库地址';
const DB_USERNAME = '用户名';
const DB_PASSWORD = '密码';
const DB_DBNAME = '库名';

getData();

function getData(){
      $table = '表名';
      $con = @mysqli_connect(DB_SERVERNAME,DB_USERNAME,DB_PASSWORD);
      mysqli_select_db($con,DB_DBNAME);
      $conn = new mysqli(DB_SERVERNAME, DB_USERNAME, DB_PASSWORD, DB_DBNAME);
      if ($conn->connect_error) {
           die("连接失败: " . $conn->connect_error);
      }
      // 要批量添加的二维数组
      $array = [];
      if(!empty($array)){
            //每次执行500条
            $splitNum = 500;
            foreach(array_chunk($array, $splitNum) as $values){
                $sql = insertBatch($table, array('app_flag', 'user_add', 'user_sub'), $values);
                if ($conn->query($sql) === TRUE) {
                    echo " 新记录插入成功 " . PHP_EOL;
                } else {
                    echo "Error: " . $sql . "<br>" . $conn->error;
                }
            }
      }else{
           echo '数组为空';
      }

      $con->close();
  
}


function insertBatch($table, $keys, $values, $sqltype = 'INSERT'){
    $str = " ";
    foreach($values as $k => &$v){
        $app_flag = addslashes($v['app_flag']);
        $user_add = addslashes($v['user_add']);
        $user_sub = addslashes($v['user_sub']);

        $str .= "(";
        $str .= " '$app_flag','$user_add','$user_sub'";
        $str .= "),";
    }
    $str = rtrim($str, ',');
    return $sqltype.' INTO `'.$table.'` (`'.implode('`, `', $keys).'`) VALUES '. $str;
}

如果还需要了解批量更新的话,可以参考下我的另一篇文章
【php+mysqli批量更新简单易懂】
https://www.jianshu.com/p/d72c1b705070?v=1694490184191
希望可以帮助到大家

相关文章

网友评论

      本文标题:php+mysqli批量添加简单易懂

      本文链接:https://www.haomeiwen.com/subject/ysmevdtx.html