php mysqli实例 使用mysqli批量执行sql语句

发布时间:2020-01-22编辑:脚本学堂
本文介绍下,在php中使用mysqli批量执行sql语句的二个例子,有需要的朋友,不妨作个参考。

本节演示php中使用msyqli批量执行sql语句的例子。

1,mysqli查询,批量执行updatedelete等语句

<?php
 //mysqli批量执行sql语句

 //批量执行dql
 //使用mysqli::multi_query() 一次性添加3个用户
 
 $mysqli =new MySQLi("localhost","root","root","test");
 if($mysqli->connect_error){
  die ("连接失败".$mysqli->connect_error);
 }
 
 //注意分号
 $sqls="insert into user1 (name,password,email,age) values('AAA',md5('AAA'),'AAA@jb200.com',25);";
 $sqls.="insert into user1 (name,password,email,age) values('BBB',md5('BBB'),'BBB@jb200.com',25);";
 $sqls.="insert into user1 (name,password,email,age) values('CCC',md5('CCC'),'CCC@jb200.com',25);";
 
 //批量执行dml 可以混合使用delete insert update
 //$sqls.="update user1 set age=15 where id=1;";
 //$sqls.="delete from user1 where id=10";

 $res=$mysqli->multi_query($sqls);
 
 if(!$res){
  echo "操作失败".$mysqli->error;
 }else{
  echo "OK";
 }
?>

2、批量查询

<?php
 //使用mysqli的mysqli::multi_query() 一次性查询表的机构和表中的内容
 //edit:www.jb200.com
 //1、创建mysqli对象
 $mysqli=new MySQLi("localhost","root","root","test");
 if($mysqli->connect_error){
  die("连接失败".$mysqli->connect_error);
 }
 //2、批量查询语句
 $sqls="select *from user1;";
 $sqls.="desc user1";
 //3、处理结果
 //如果成功,至少有一个结果集
 if($res=$mysqli->multi_query($sqls)){
  
  do{
//取出第一个结果集
$res=$mysqli->store_result();
while($row=$res->fetch_row()){
 foreach($row as $val){
  echo '--'.$val;
 }
 echo '<br/>';
}

//及时释放内存
$res->free();
//判断是否还有结果集
if($mysqli->more_results()){
 echo "********新的结果集***************<br/>";
}else{
 break;
}

  }while($mysqli->next_result());

 } 
 //4、关闭资源
 $mysqli->close();
?>