zoukankan      html  css  js  c++  java
  • 批量执行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 ?>

    结果如下:

  • 相关阅读:
    连接mysql遇到的问题
    洛谷 P3369 【模板】普通平衡树(Treap/SBT)
    开博啦
    luogu【P2753】[USACO4.3]字母游戏Letter Game
    luogu【P3377】 【模板】左偏树
    POJ-2251
    HDU-1518
    Coderforces-455A
    UVA-1608
    Coderfocers-551C
  • 原文地址:https://www.cnblogs.com/seaBiscuit0922/p/5919381.html
Copyright © 2011-2022 走看看