• 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();
    

      

  • 相关阅读:
    druid-1.0.13 数据库配置文件密码加密
    PostConstruct注解
    easyui formatter 返回easyui组件
    小师妹问 easyUI mergeCells 行合并后表头和内容对不齐
    Java Split以竖线作为分隔符
    Integer比较值的时候小心使用
    js 关键字 in
    Asp.net中防止用户多次登录的方法
    C#取得站点跟目录
    解读支付宝接口实现步骤
  • 原文地址:https://www.cnblogs.com/usa007lhy/p/4932315.html
Copyright © 2020-2023  润新知