废话不多说 直接上代码
<?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语句方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持免费资源网。
© 版权声明
THE END
暂无评论内容