PHP mysqli 增强批量执行sql语句的例子

发布时间:2019-08-28编辑:脚本学堂
本文介绍下,php使用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@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 最好不要使用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() 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();
?>