批量执行sql语句
- 基本使用
$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语句的更多相关文章
- SQL*PLUS中批量执行SQL语句
SQL*PLUS中批量执行SQL语句 今天由于工作的需要,要在CMD中批量执行大量的SQL语句,对于Oracle学习还处在入门阶段的我,只能硬着头皮到处去寻找资料(主要是网络资料,也包括自己的电子书) ...
- c#实现用SQL池(多线程),定时批量执行SQL语句 【转】
在实际项目开发中,业务逻辑层的处理速度往往很快,特别是在开发Socket通信服务的时候,网络传输很快,但是一旦加上数据库操作,性能一落千丈,数据库操作的效率往往成为一个系统整体性能的瓶颈.面对这问题, ...
- PHP mysqli 增强 批量执行sql 语句的实现代码
本篇文章介绍了,在PHP中 mysqli 增强 批量执行sql 语句的实现代码.需要的朋友参考下. mysqli 增强-批量执行sql 语句 <?php //mysqli 增强-批量执行sql ...
- c#实现用SQL池(多线程),定时批量执行SQL语句
在实际项目开发中,业务逻辑层的处理速度往往很快,特别是在开发Socket通信服务的时候,网络传输很快,但是一旦加上数据库操作,性能一落千丈,数据库操作的效率往往成为一个系统整体性能的瓶颈.面对这问题, ...
- mysqli扩展库应用---批量执行sql语句
1, mysqli批量执行sql语句.基本语法: $sqls=”sql1;sql2;………” mysqli::multi_query($sqls); 同一个$sqls要么是增删改语句集合,要么是查询语 ...
- JDBC连接MYSQL,批量执行SQL语句或在执行一个SQL语句之前执行一个SQL语句
conn = MysqlJdbcUtils.getConnection(); Statement ps=conn.createStatement(); ps.addBatch("trunca ...
- Jmeter(三十八)Jmeter Question 之 ‘批量执行SQL语句’
知识使我们变得玩世不恭,智慧使我们变得冷酷无情,我们思考的太多,感知太少,除了机器,我们更需要人性,除了智慧,我们需要仁慈和善良. ------出自查理卓别林的演讲 前面有提到Jmeter使用JDBC ...
- executeBatch()批量执行Sql语句
executeBatch()方法:用于成批地执行SQL语句,但不能执行返回值是ResultSet结果集的SQL语句,而是直接执行stmt.executeBatch(); addBatch():向批处理 ...
- 批量执行SQL语句,进行删除,插入或者更改。
private bool ExecuteTransaction(List<string> list) { using (SqlConnection connection = new Sql ...
随机推荐
- ListView多选操作模式详解CHOICE_MODE_MULTIPLE与CHOICE_MODE_MULTIPLE_MODAL
这篇文章我们将详细的介绍如何实现ListView的多选操作,文中将会纠正在使用ListViewCHOICE_MODE_MULTIPLE或者CHOICE_MODE_MULTIPLE_MODAL时容易犯的 ...
- JBPM学习(四):执行流程实例
概念: ProcessInstance,流程实例:代表流程定义的一次执行.如:张三昨天按请假流程请了一次假.一个流程实例包括了所有运行阶段,其中最典型的属性就是跟踪当前节点的指针,如下图. Execu ...
- 让delphi程序不受WINDOWS日期格式的影响
http://www.cnblogs.com/hnxxcxg/archive/2013/01/30/2882672.html 如果WINDOWS系统的短日期格式为“yyyy/m/d”,执行下面的代码会 ...
- [Javascript] Immute Object
Three ways to make object immutable: 1. Use JSON.parse(JSON.stringify(obj)): this approach is little ...
- [React] React Fundamentals: Mixins
Mixins will allow you to apply behaviors to multiple React components. Components are the best way t ...
- Android学习站点推荐
收集了一些比較好的Android学习站点,希望对大家有所帮助: 1.http://developer.android.com/ Android官方站点,可惜被屏蔽了,须要使用FQ软件 2.http:/ ...
- ss与 netstat
ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag.tcp_diag是一个用于分析统计的模块, 可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效.当然,如果你的系统中没有tcp ...
- 数扰结构-visualization
http://www.cs.usfca.edu/~galles/visualization/Algorithms.html?url_type=39&object_type=webpage&am ...
- direct3D directX
direct3D只是directX其中一个增强功能 DirectX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分.声音部分.输入部分和网络部分. 显示部分担任图形处理的关键,分为Dir ...
- cocos2d-x之CCMotionStreak类——2013-08-25 16
在游戏的实现过程中,有时会需要在某个游戏对象上的运动轨迹上实现渐隐效果.这种感觉就好像是类似飞机拉线的拖尾巴,在视觉上感觉很好,比如子弹的运动轨迹等,如果不借助引擎的帮助,这种效果往往需要通过大量 ...