废话不多说 直接上代码
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/4/21 * Time: 10:41 */ header("Content-type: text/html; charset=utf-8"); $mysqli = new mysqli('localhost','root','root','sql'); $mysqli->query('set names utf8'); //批量插入演示 $data[] = array('aa',10); $data[] = array('bb',20); $data[] = array('cc',30); $fields = array('name','score'); $sql = warpSqlByData('bb',$data,$fields); $falg = $mysqli->query($sql); if($falg) { echo '执行完成'; } //写一个函数 用来生产多条数据的单句sql function warpSqlByData($table,$data,$fields) { $sql = "INSERT INTO ".$table; $col_list =''; $value_list =''; $fields = array_map('formatclos',$fields); if(is_array($fields)) { $col_list = implode(',',$fields); } //组织列 $cols = '('.$col_list.')'; $sql = $sql.$cols; //再来组织value部分 foreach ($data as $value) { //判断列的值 进行转化 $value = array_map('formatvalues',$value); $value_part = implode(',',$value); $value_list .= '('.$value_part.'),'; } $value_list = rtrim($value_list,','); $value_list = ' VALUES'.$value_list; $sql = $sql.$value_list; return $sql; } //格式化列名 function formatclos($col) { return sprintf("`$col`"); } //格式化列名 function formatvalues($val) { return sprintf("'$val'"); }
效果图
ok 完成!
以上这篇PHP实现单条sql执行多个数据的insert语句方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持华域联盟。
您可能感兴趣的文章:
- PHP使用mysqli同时执行多条sql查询语句的实例
- PHP大批量插入数据库的3种方法和速度对比
- laravel实现查询最后执行的一条sql语句的方法
- php往mysql中批量插入数据实例教程
- php快速导入大量数据的实例方法
本文由 华域联盟 原创撰写:华域联盟 » PHP实现单条sql执行多个数据的insert语句方法
转载请保留出处和原文链接:https://www.cnhackhy.com/64368.htm