• PHP mysqli 增强批量执行sql 语句


    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;
                    }
                    echo '<br/>';
                }
    
                //及时释放内存
                $res->free();
                //判断是否还有结果集
                if($mysqli->more_results()){
                    echo "********新的结果集***************<br/>";
                }else{
                    break;
                }
    
            }while($mysqli->next_result());
    
        }    
        //4、关闭资源
        $mysqli->close();
    ?>
  • 相关阅读:
    C# 复制文件夹,移动文件夹
    让Base64适合在URL中使用
    修复FIREBIRD数据库
    Image.FromFile 锁文件的解决办法
    Powerbuilder 12.5 下载地址
    C# 给程序添加许可
    WIN FORM 多线程更新UI(界面控件)
    .Net WinForm 拖动控件
    SQL Server 自动增长清零
    C# 一次生成多个相同的字符
  • 原文地址:https://www.cnblogs.com/pwm5712/p/3052695.html
Copyright © 2020-2023  润新知