mysqli扩展库应用---批量执行sql语句
1, mysqli批量执行sql语句。基本语法:
$sqls=”sql1;sql2;………”
mysqli::multi_query($sqls);
同一个$sqls要么是增删改语句集合,要么是查询语句的集合,查询语句和增删改最好不要混合。应用示例如下:
① 操作数据库的代码:
<?php
class mysqliMutiTool{
private $mysqli = null;
private static $host = "127.0.0.1";
private static $user = "root";
private static $password = "123456";
private static $db = "test"; public function __construct(){
$this->mysqli = new MySQLi(self::$host,self::$user,self::$password,self::$db);
if($this->mysqli->connect_error){
die("连接错误".$this->mysqli->connect_error);
}
// $this->mysqli->muti_query("set names utf-8");
} public function execute_query($sqls){
$res = $this->mysqli->multi_query($sqls);
return $res;
} public function getError(){
return $this->mysqli->error;
} public function getMysqli(){
return $this->mysqli;
} public function closeConn(){
$this->mysqli->close();
} }
② 增删改操作
<?php
require "mysqliMutiTool.class.php"; $mysqliMuti = new mysqliMutiTool();
$sqls = "insert into user1 (name,password,email,age) values('宋江','aaa','songjiang@126.com',56);";
$sqls .= "insert into user1 (name,password,email,age) values('卢俊义','bbb','lujunyi@126.com',46);";
$sqls .= "insert into user1 (name,password,email,age) values('吴用','ccc','wuyong@126.com',54);";
$sqls .= "update user1 set name = '吴用2' where id = 12;";
$sqls .= "delete from user1 where id = 15;";
$res = $mysqliMuti->execute_query($sqls);
if($res){
echo "操作成功!";
}else{
echo "".$mysqliMuti->getError();
}
$mysqliMuti->closeConn();
③ 查询操作
<?php
require "mysqliMutiTool.class.php"; $mysqliMuti = new mysqliMutiTool();
$sqls = "select * from user1;";
$sqls .= "select * from words;"; $res = $mysqliMuti->execute_query($sqls); $mysqli = $mysqliMuti->getMysqli();
if($res){
do{
//从mysqli连接取出第一个结果集
$result = $mysqli->store_result();
//显示mysqli result对象
while($row=$result->fetch_row()){
foreach($row as $key=>$val){
echo "--$val";
}
echo "<br/>";
}
$result->free();
echo "<br/>*******************新的结果集*******************<br/>";
}while($mysqli->next_result());
}
$mysqliMuti->closeConn();
mysqli扩展库应用---批量执行sql语句的更多相关文章
- PHP mysqli 增强 批量执行sql 语句的实现代码
本篇文章介绍了,在PHP中 mysqli 增强 批量执行sql 语句的实现代码.需要的朋友参考下. mysqli 增强-批量执行sql 语句 <?php //mysqli 增强-批量执行sql ...
- 批量执行sql语句
基本使用 $sqls="sql语句1;sql语句2;sql语句n"; 或 $sqls="insert into xx;"; $sqls.="inse ...
- SQL*PLUS中批量执行SQL语句
SQL*PLUS中批量执行SQL语句 今天由于工作的需要,要在CMD中批量执行大量的SQL语句,对于Oracle学习还处在入门阶段的我,只能硬着头皮到处去寻找资料(主要是网络资料,也包括自己的电子书) ...
- c#实现用SQL池(多线程),定时批量执行SQL语句 【转】
在实际项目开发中,业务逻辑层的处理速度往往很快,特别是在开发Socket通信服务的时候,网络传输很快,但是一旦加上数据库操作,性能一落千丈,数据库操作的效率往往成为一个系统整体性能的瓶颈.面对这问题, ...
- c#实现用SQL池(多线程),定时批量执行SQL语句
在实际项目开发中,业务逻辑层的处理速度往往很快,特别是在开发Socket通信服务的时候,网络传输很快,但是一旦加上数据库操作,性能一落千丈,数据库操作的效率往往成为一个系统整体性能的瓶颈.面对这问题, ...
- 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 ...
随机推荐
- pyinstaller 打包
[root@mhc nsf]# pip install pyinstallerCollecting pyinstaller Downloading PyInstaller-3.3.tar.gz (3 ...
- Spark之 RDD转换成DataFrame的Scala实现
依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2. ...
- 使用vue-cli创建一个vue项目
安装vue-cli npm install -g @vue/cli 1, 使用vue创建一个项目 vue create luffy 2, 安装所需的插件 npm install vue-router ...
- 【HDU4734】F(x) 【数位dp】
题意 先定义了一个函数F(X)=An*2^n-1+An-1*2^n-2+.....+A1*1.其中Ai为X的第i位的值.对于每组数据给出了两个整数A,B.问不超过B的数中有多少的F值是不超过F(A)的 ...
- Python中super详解
转至:https://mozillazg.com/2016/12/python-super-is-not-as-simple-as-you-thought.html 说到 super, 大家可能觉得很 ...
- zookeeper 阿里滴滴 有点用 zookeeper主从选举方式
面试也经常问kafka的原理,以及zookeeper与kafka原理的区别:kafka 数据一致性-leader,follower机制与zookeeper的区别: zookeeper是如何实现负载均衡 ...
- leetCode--towSum
题目链接:https://leetcode.com/problems/two-sum/description/ 此题的意思是:给定一个target值,从给定的数组中找两个数,使得这两个数的和==tar ...
- PollingProvider方法的使用及示例
来自<sencha touch权威指南>第12章,374页开始 ----------------------------------------------------- PollingP ...
- css实现水平伸缩菜单
ul li a{transition:width 500ms ease;} a:hover{width:*;} 高度向上延伸用height:*;margin-top:-*px;//负值实现向上
- mybatis 传参是 list<string> 的注意事项
<!--付款 批量 修改账单状态--><update id="editbillpayALL" parameterType="java.util.List ...