php mysqli批量执行sql语句

发布时间:2019-10-12编辑:脚本学堂
分享下php mysqli增强批量执行sql语句的方法,二个例子,批量执行sql语句,使用mysqli实现批量查询功能,需要的朋友参考下。

php编程中,我们习惯了用mysql来连接与操作数据库,本节分享下mysqli批量执行sql语句的二个例子,一起来看看吧。

例1,mysqli批量执行sql语句
 

复制代码 代码示例:

<?php
//mysqli 增强-批量执行sql 语句
//批量执行dql
//使用mysqli的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@hu.com',25);";
$sqls.="insert into user1 (name,password,email,age) values('BBB',md5('BBB'),'BBB@hu.com',25);";
$sqls.="insert into user1 (name,password,email,age) values('CCC',md5('CCC'),'CCC@hu.com',25);";

//批量执行dml 可以混合使用delete insert update 最好不要使用select
//$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() 一次性查询表的机构和表中的内容
//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;
} // www.jb200.com
echo '<br/>';
}
//及时释放内存
$res->free();
//判断是否还有结果集
if($mysqli->more_results()){
echo "********新的结果集***************<br/>";
}else{
break;
}
}while($mysqli->next_result());
}
//4、关闭资源
$mysqli->close();
?>