• 批量执行sql语句


    • 基本使用

    $sqls="sql语句1;sql语句2;sql语句n";

    或 $sqls="insert into xx;";  $sqls.="insert into xx;";

    $res=mysqli::multi_query($sqls);

    如果$sqls 是dml 语句,则$res 返回布尔值;

    如果$sqls 是dql 语句,则$res 返回多个结果集,需要使用mysqli::store_result()

    和 mysqli::more_results()    mysqli::next_result() 配合取出各个结果集

    • 批量执行dml语句(insert、update、delete语句可以混合拼接)
     1 <?php
     2     //连接数据库
     3     $mysqli=new MySQLi("localhost","root","root","test");
     4     //判断是否连接成功
     5     if($mysqli->connect_error){
     6         die("连接失败".$mysqli->connect_error);
     7     }
     8     //拼接sql语句,注意-->双引号里的分号不可少!!!
     9     $sqls="insert into user1 (name,password,age,birthday) values ('wpp',md5('wpp'),25,'1991-05-05');";
    10     $sqls.="insert into user1 (name,password,age,birthday) values ('zs',md5('zs'),26,'1990-01-01');";
    11     $sqls.="insert into user1 (name,password,age,birthday) values ('ls',md5('ls'),26,'1990-02-01');";
    12     //批量执行dml语句
    13     $res=$mysqli->multi_query($sqls);
    14     //判断执行结果
    15     if(!$res){
    16         echo "操作失败";
    17     }else{
    18         echo "操作成功";
    19     }
    20     //关闭连接
    21     $mysqli->close();
    22 ?>
    • 查询user1 表的结构和表的内容并显示
     1 <?php
     2     //连接数据库
     3     $mysqli=new MySQLi("localhost","root","root","test");
     4     //判断是否连接成功
     5     if($mysqli->connect_error){
     6         die("连接失败".$mysqli->connect_error);
     7     }
     8     //拼接sql语句,注意-->双引号里的分号不可少!!!
     9     $sqls="desc user1;";
    10     $sqls.="select * from user1";
    11     //批量执行dql语句
    12     $res=$mysqli->multi_query($sqls) or die("操作失败".$mysqli->error);
    13     //处理执行结果
    14     do{
    15         echo"<br/>-----结果如下-----<br/>";
    16         //取出第一个结果集
    17         $result=$mysqli->store_result();
    18         //显示结果
    19         while($row=$result->fetch_row()){
    20             foreach($row as $key=>$val){
    21                 echo "--".$val;
    22             }
    23             echo "<br/>";
    24         }
    25         //及时释放结果集
    26         $result->free();        
    27     }while($mysqli->more_results()&&$mysqli->next_result());
    28     //关闭连接
    29     $mysqli->close();
    30 ?>

    结果如下:

    •  查询user1 表的结构和表的内容并用表格显示在网页
     1 <?php
     2     //批量执行sql语句(dql),以表格形式显示在网页
     3     //连接数据库
     4     $mysqli=new MySQLi("localhost","root","root","test");
     5     //判断是否连接成功
     6     if($mysqli->connect_error){
     7         die("连接失败".$mysqli->connect_error);
     8     }
     9     //拼接sql语句,注意-->双引号里的分号不可少!!!
    10     $sqls="desc user1;";
    11     $sqls.="select * from user1";
    12     //批量执行dql语句
    13     $res=$mysqli->multi_query($sqls) or die("操作失败".$mysqli->error);
    14     //处理执行结果
    15     do{
    16         echo"<br/>-----结果如下-----<br/>";
    17         //取出第一个结果集
    18         $result=$mysqli->store_result();
    19         echo "<table border=1 cellspacing=0 cellpadding=3px><tr>";
    20         //显示表头和表的第一行内容
    21         $fieldName=$result->fetch_assoc();
    22         foreach($fieldName as $key=>$val){
    23             echo "<th>$key</th>";
    24         }
    25         echo "</tr><tr>";
    26         foreach($fieldName as $key=>$val){
    27             echo "<td>$val</td>";
    28         }
    29         echo "</tr>";
    30         //显示表的第二行以后的内容
    31         while($row=$result->fetch_row()){
    32             echo "<tr>";
    33             foreach($row as $key=>$val){
    34                 echo "<td>$val</td>";
    35             }
    36             echo "</tr>";
    37         }
    38         echo "</table>";
    39         //及时释放结果集
    40         $result->free();        
    41     }while($mysqli->more_results()&&$mysqli->next_result());
    42     //关闭连接
    43     $mysqli->close();
    44 ?>

    结果如下:

  • 相关阅读:
    Json对象和字符串互转
    JSNOP调用。。。
    org.hibernate.LazyInitializationException: could not initialize proxy no Session
    myeclipse生成注解实体
    jquery判断浏览器和版本
    JSTL XML标签库
    ORACLE 月份不全,补全月份的sql
    js 上下左右键控制焦点
    google gson使用
    js判断undefined类型
  • 原文地址:https://www.cnblogs.com/seaBiscuit0922/p/5919381.html
Copyright © 2020-2023  润新知