• 基本使用

$sqls="sql语句1;sql语句2;sql语句n";

或 $sqls="insert into xx;";  $sqls.="insert into xx;";

$res=mysqli::multi_query($sqls);

如果$sqls 是dml 语句,则$res 返回布尔值;

如果$sqls 是dql 语句,则$res 返回多个结果集,需要使用mysqli::store_result()

和 mysqli::more_results()    mysqli::next_result() 配合取出各个结果集

  • 批量执行dml语句(insert、update、delete语句可以混合拼接)
 <?php
//连接数据库
$mysqli=new MySQLi("localhost","root","root","test");
//判断是否连接成功
if($mysqli->connect_error){
die("连接失败".$mysqli->connect_error);
}
//拼接sql语句,注意-->双引号里的分号不可少!!!
$sqls="insert into user1 (name,password,age,birthday) values ('wpp',md5('wpp'),25,'1991-05-05');";
$sqls.="insert into user1 (name,password,age,birthday) values ('zs',md5('zs'),26,'1990-01-01');";
$sqls.="insert into user1 (name,password,age,birthday) values ('ls',md5('ls'),26,'1990-02-01');";
//批量执行dml语句
$res=$mysqli->multi_query($sqls);
//判断执行结果
if(!$res){
echo "操作失败";
}else{
echo "操作成功";
}
//关闭连接
$mysqli->close();
?>
  • 查询user1 表的结构和表的内容并显示
 <?php
//连接数据库
$mysqli=new MySQLi("localhost","root","root","test");
//判断是否连接成功
if($mysqli->connect_error){
die("连接失败".$mysqli->connect_error);
}
//拼接sql语句,注意-->双引号里的分号不可少!!!
$sqls="desc user1;";
$sqls.="select * from user1";
//批量执行dql语句
$res=$mysqli->multi_query($sqls) or die("操作失败".$mysqli->error);
//处理执行结果
do{
echo"<br/>-----结果如下-----<br/>";
//取出第一个结果集
$result=$mysqli->store_result();
//显示结果
while($row=$result->fetch_row()){
foreach($row as $key=>$val){
echo "--".$val;
}
echo "<br/>";
}
//及时释放结果集
$result->free();
}while($mysqli->more_results()&&$mysqli->next_result());
//关闭连接
$mysqli->close();
?>

结果如下:

  • 查询user1 表的结构和表的内容并用表格显示在网页
 <?php
//批量执行sql语句(dql),以表格形式显示在网页
//连接数据库
$mysqli=new MySQLi("localhost","root","root","test");
//判断是否连接成功
if($mysqli->connect_error){
die("连接失败".$mysqli->connect_error);
}
//拼接sql语句,注意-->双引号里的分号不可少!!!
$sqls="desc user1;";
$sqls.="select * from user1";
//批量执行dql语句
$res=$mysqli->multi_query($sqls) or die("操作失败".$mysqli->error);
//处理执行结果
do{
echo"<br/>-----结果如下-----<br/>";
//取出第一个结果集
$result=$mysqli->store_result();
echo "<table border=1 cellspacing=0 cellpadding=3px><tr>";
//显示表头和表的第一行内容
$fieldName=$result->fetch_assoc();
foreach($fieldName as $key=>$val){
echo "<th>$key</th>";
}
echo "</tr><tr>";
foreach($fieldName as $key=>$val){
echo "<td>$val</td>";
}
echo "</tr>";
//显示表的第二行以后的内容
while($row=$result->fetch_row()){
echo "<tr>";
foreach($row as $key=>$val){
echo "<td>$val</td>";
}
echo "</tr>";
}
echo "</table>";
//及时释放结果集
$result->free();
}while($mysqli->more_results()&&$mysqli->next_result());
//关闭连接
$mysqli->close();
?>

结果如下:

批量执行sql语句的更多相关文章

  1. SQL*PLUS中批量执行SQL语句

    SQL*PLUS中批量执行SQL语句 今天由于工作的需要,要在CMD中批量执行大量的SQL语句,对于Oracle学习还处在入门阶段的我,只能硬着头皮到处去寻找资料(主要是网络资料,也包括自己的电子书) ...

  2. c#实现用SQL池(多线程),定时批量执行SQL语句 【转】

    在实际项目开发中,业务逻辑层的处理速度往往很快,特别是在开发Socket通信服务的时候,网络传输很快,但是一旦加上数据库操作,性能一落千丈,数据库操作的效率往往成为一个系统整体性能的瓶颈.面对这问题, ...

  3. PHP mysqli 增强 批量执行sql 语句的实现代码

    本篇文章介绍了,在PHP中 mysqli 增强 批量执行sql 语句的实现代码.需要的朋友参考下. mysqli 增强-批量执行sql 语句 <?php //mysqli 增强-批量执行sql ...

  4. c#实现用SQL池(多线程),定时批量执行SQL语句

    在实际项目开发中,业务逻辑层的处理速度往往很快,特别是在开发Socket通信服务的时候,网络传输很快,但是一旦加上数据库操作,性能一落千丈,数据库操作的效率往往成为一个系统整体性能的瓶颈.面对这问题, ...

  5. mysqli扩展库应用---批量执行sql语句

    1, mysqli批量执行sql语句.基本语法: $sqls=”sql1;sql2;………” mysqli::multi_query($sqls); 同一个$sqls要么是增删改语句集合,要么是查询语 ...

  6. JDBC连接MYSQL,批量执行SQL语句或在执行一个SQL语句之前执行一个SQL语句

    conn = MysqlJdbcUtils.getConnection(); Statement ps=conn.createStatement(); ps.addBatch("trunca ...

  7. Jmeter(三十八)Jmeter Question 之 ‘批量执行SQL语句’

    知识使我们变得玩世不恭,智慧使我们变得冷酷无情,我们思考的太多,感知太少,除了机器,我们更需要人性,除了智慧,我们需要仁慈和善良. ------出自查理卓别林的演讲 前面有提到Jmeter使用JDBC ...

  8. executeBatch()批量执行Sql语句

    executeBatch()方法:用于成批地执行SQL语句,但不能执行返回值是ResultSet结果集的SQL语句,而是直接执行stmt.executeBatch(); addBatch():向批处理 ...

  9. 批量执行SQL语句,进行删除,插入或者更改。

    private bool ExecuteTransaction(List<string> list) { using (SqlConnection connection = new Sql ...

随机推荐

  1. [置顶] 项目进阶 之 持续构建环境搭建(二)Nexus私服器

    上一篇博文项目进阶 之 持续构建环境搭建(一)架构中,我们大致讲解了一下本系列所搭建环境的基本框架,这次开始我们进入真正的环境搭建实战.重点不在于搭建的环境是否成功和完善,而是在搭建过程中充分认识到每 ...

  2. OpenWRT加入 crontab开机默认运行

    [转载请注明出处:钱国正专栏 http://blog.csdn.net/qianguozheng/article/details/37666829] OpenWRT系统默认已经加入了crond,仅仅是 ...

  3. Minimum Size Subarray Sum -- leetcode

    题目描写叙述: Given an array of n positive integers and a positive integer s, find the minimal length of a ...

  4. [Webpack 2] Add Code Coverage to tests in a Webpack project

    How much of your code runs during unit testing is an extremely valuable metric to track. Utilizing c ...

  5. 通过blktrace, debugfs分析磁盘IO

    前几天微博上有同学问我磁盘util达到了100%时程序性能下降的问题,由于信息实在有限,我也没有办法帮太大的忙,这篇blog只是想给他列一下在磁盘util很高的时候如何通过blktrace+debug ...

  6. oracle db mos文章 翻译系列

    http://blog.csdn.net/msdnchina/article/details/38377125

  7. 系统调用表 linux 2.6.32

    [root@localhost log]# find / |grep syscall_table /usr/src/kernels/linux-/arch/x86/kernel/syscall_tab ...

  8. 做一款仿映客的直播App?看我就够了

    来源:JIAAIR 链接:http://www.jianshu.com/p/5b1341e97757 一.直播现状简介   1.技术实现层面: 技术相对都比较成熟,设备也都支持硬编码.IOS还提供现成 ...

  9. Ⅶ.spring的点点滴滴--自定义对象行为

    承接上文 自定义对象行为 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class lifeCycle : Spring.Objects.Factory. ...

  10. NIO学习:buffer读入与写出(文件复制示例)

    FileInputStream fInputStream=new FileInputStream(new File("/root/Desktop/testImage.jpg")); ...