PHP mysqli 增强 批量执行sql 语句的实现代码

所属分类: 数据库 / Mysql 阅读数: 1956
收藏 0 赞 0 分享

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


更多精彩内容其他人还在看

mysql jdbc连接步骤及常见参数

这篇文章主要介绍了mysql jdbc连接步骤及常见参数,需要的朋友可以参考下
收藏 0 赞 0 分享

Navicat for MySQL(mysql图形化管理工具)是什么?

这里就给大家介绍一个常用的MySQL数据库管理工具:Navicat for MySQL,需要的朋友可以参考下
收藏 0 赞 0 分享

lnmp下如何关闭Mysql日志保护磁盘空间

这篇文章主要介绍了lnmp下如何关闭Mysql日志保护磁盘空间的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

使用phpMyAdmin批量修改Mysql数据表前缀的方法

这篇文章主要介绍了使用phpMyAdmin批量修改Mysql数据表前缀的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

如何解决局域网内mysql数据库连接慢

通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。非常急人,有没有办法可以解决局域网内mysql数据库连接慢呢?下面小编带领大家来解决此问题,感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失

这篇文章主要介绍了使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL 5.0.16乱码问题的解决方法

这篇文章主要介绍了MySQL 5.0.16乱码问题的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL提高分页效率

本文分享的这段代码是大数据量时提高分页的效率的测试代码,感兴趣的小伙伴可以参考一下
收藏 0 赞 0 分享

小记一次mysql主从配置解决方案

mysql主从方案主要作用:读写分离,使数据库能支撑更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。
收藏 0 赞 0 分享

RHEL6.5编译安装MySQL5.6.26教程

这篇文章主要介绍了RHEL6.5编译安装MySQL5.6.26教程的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多