当前位置:首页 > PHP教程 > php应用 > 列表

PHP实现单条sql执行多个数据的insert语句方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-31 10:02:27 浏览: 评论:0 

今天小编就为大家分享一篇PHP实现单条sql执行多个数据的insert语句方法,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

废话不多说 直接上代码

  1. <?php 
  2. /** 
  3.  * Created by PhpStorm. 
  4.  * User: Administrator 
  5.  * Date: 2018/4/21 
  6.  * Time: 10:41 
  7.  */ 
  8. header("Content-type: text/html; charset=utf-8"); 
  9. $mysqli = new mysqli('localhost','root','root','sql'); 
  10. $mysqli->query('set names utf8'); 
  11. //批量插入演示 
  12. $data[] = array('aa',10); 
  13. $data[] = array('bb',20); 
  14. $data[] = array('cc',30); 
  15. $fields = array('name','score'); 
  16. $sql = warpSqlByData('bb',$data,$fields); 
  17.    
  18. $falg = $mysqli->query($sql); 
  19. if($falg
  20.  echo '执行完成'
  21. //写一个函数 用来生产多条数据的单句sql 
  22. function warpSqlByData($table,$data,$fields
  23.  $sql = "INSERT INTO ".$table
  24.  $col_list =''
  25.  $value_list =''
  26.  $fields = array_map('formatclos',$fields); 
  27.  if(is_array($fields)) 
  28.  { 
  29.   $col_list = implode(',',$fields); 
  30.  } 
  31.  //组织列 
  32.  $cols = '('.$col_list.')'
  33.  $sql = $sql.$cols
  34.  //再来组织value部分 
  35.  foreach ($data as $value
  36.  { 
  37.   //判断列的值 进行转化 
  38.   $value = array_map('formatvalues',$value); 
  39.   $value_part = implode(',',$value); 
  40.   $value_list .= '('.$value_part.'),'
  41.  } 
  42.  $value_list = rtrim($value_list,','); 
  43.  $value_list = ' VALUES'.$value_list
  44.  $sql = $sql.$value_list
  45.  return $sql
  46.    
  47. //格式化列名 
  48. function formatclos($col
  49.  return sprintf("`$col`"); 
  50.    
  51. //格式化列名 
  52. function formatvalues($val
  53.  return sprintf("'$val'"); 

效果图

单条sql执行 insert

ok 完成!

Tags: 单条sql执行 insert

分享到: