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

吾爱主题 阅读:152 2021-08-30 16:57:00 评论:0

废话不多说 直接上代码

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 <?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语句方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/dzyweer/article/details/80032834

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容