当前位置:首页 > 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. { 
  21.  echo '执行完成'; 
  22. } 
  23. //写一个函数 用来生产多条数据的单句sql 
  24. function warpSqlByData($table,$data,$fields) 
  25. { 
  26.  $sql = "INSERT INTO ".$table; 
  27.  $col_list =''; 
  28.  $value_list =''; 
  29.  $fields = array_map('formatclos',$fields); 
  30.  if(is_array($fields)) 
  31.  { 
  32.   $col_list = implode(',',$fields); 
  33.  } 
  34.  //组织列 
  35.  $cols = '('.$col_list.')'; 
  36.  $sql = $sql.$cols; 
  37.  //再来组织value部分 
  38.  foreach ($data as $value) 
  39.  { 
  40.   //判断列的值 进行转化 
  41.   $value = array_map('formatvalues',$value); 
  42.   $value_part = implode(',',$value); 
  43.   $value_list .= '('.$value_part.'),'; 
  44.  } 
  45.  $value_list = rtrim($value_list,','); 
  46.  $value_list = ' VALUES'.$value_list; 
  47.  $sql = $sql.$value_list; 
  48.  return $sql; 
  49. } 
  50.    
  51. //格式化列名 
  52. function formatclos($col) 
  53. { 
  54.  return sprintf("`$col`"); 
  55. } 
  56.    
  57. //格式化列名 
  58. function formatvalues($val) 
  59. { 
  60.  return sprintf("'$val'"); 
  61. } 

效果图

单条sql执行 insert

ok 完成!

Tags: 单条sql执行 insert

分享到: