• Mysqli的批量CRUD数据


    学会了使用了mysqli扩展库之后,总体感觉比面向过程的方法更加合理化,面向对象是大势所趋,所以绝不能仅仅只用那一套老的mysql库 了,也不利于phpmysql的操作,因为我们在实际的开发中,很多还是面向对象开发的,在这里,就说一下mysqli之所以成为扩展库自然有其理由, 就批量操作的特性就大大的提高了代码的执行效率。

    还是和以往一样,我喜欢把sql语句分为dql语句和dml语句,主要是根据返回结果来分的,前者是结果集(需要释放),后者是布尔值。

    下面是批量操作dml语句的代码:

    <?php
      /*require_once "mysqltool.class.php";
      $SqlHelper=new SqlTool();
      $sql="insert into words(enword,chword) values(
        'classroom','教室')";
      $res=$SqlHelper->execute_dml($sql);
      //$res->free();*/
      //这是mysqli批量增删改数据
      $mysqli= new MySqli("localhost","root","toor","education");
      if($mysqli->connect_error){
        die("连接失败:".$mysqli->connect_error);
      }
      echo "连接成功<br/>";
      /*//批量添加数据
      $sql_1.="insert into words (enword,chword) values(
        'classroom444','教室');";
      $sql_1.="insert into words (enword,chword) values(
         'classroom222','教室');";
      $sql_1.="insert into words (enword,chword) values(
        'classroom333','教室');";
      $b=$mysqli->multi_query($sql_1);
      */
      //批量删除数据
      /*$sql_2.="delete from words where id=14;";
      $sql_2.="delete from words where id=15;";
      $sql_2.="delete from words where id=16;";
      $sql_2.="delete from words where id=17;";
      $sql_2.="delete from words where id=18;";
      $sql_2.="delete from words where id=19;";
      $sql_2.="delete from words where id=20;";
      $sql_2.="delete from words where id=22;";
      */
      //也可以批量修改。。。。
      /*但是不建议和select语句共用*/
      
      $b=$mysqli->multi_query($sql_2);
      if(!$b){
        echo "添加失败";
      }else{
        echo "添加成功".$mysqli->connect_error;
      }
      $mysqli->close();
    ?>

    下面是操作dql语句的代码:相对于dml就有一点复杂了:

    <?php
    $mysqli= new MySqli("localhost","root","toor","education");
      if($mysqli->connect_error){
        die("连接失败:".$mysqli->connect_error);
      }
      echo "连接成功<br/>";
    <span style="white-space:pre">	</span>$sql_3.="select * from words;";
      $sql_3.="select * from words_test1;";
    <span style="white-space:pre">	</span>if($res=$mysqli->multi_query($sql_3)){
      <span style="white-space:pre">	</span>do{
          $result=$mysqli->store_result();
          while($row=$result->fetch_row()){
            foreach($row as $key=>$val){
              echo "----".$val;
            }
            echo "<br/>";
          }
          $result->free();
          if(!$mysqli->more_results()){
            break;
          }
          echo "***********************************************";
        }while($mysqli->next_result());
      }
      $mysqli->close();
    ?>

    主要就是后者返回的是一个结果集的集合,需要一层一层的把它剥开看能够看到东西。

    本文仅限参考和csdn转载,尊重原创,查看我的MyCodeDream个人博客点击打开链接

  • 相关阅读:
    记忆力:记忆分类
    范例-项目-.NET-PetShop-4.0-数据库设计:MSPetShop4Service
    范例-项目-.NET-PetShop-4.0-数据库设计:MSPetShop4Profile
    范例-项目-.NET-PetShop-4.0-数据库设计:MSPetShop4Order
    范例-项目-.NET-PetShop-4.0-数据库设计:MSPetShop4
    范例-项目-.NET-PetShop-4.0-架构设计:PetShop 4.0架构与技术分析(2)
    范例-项目-.NET-PetShop-4.0-架构设计与技术分析:PetShop 4.0架构与技术分析(1)
    Error-Javascript:Uncaught Error: Malformed UTF-8 data at Object.stringify (crypto-js.js:478) at WordArray.init.toString (crypto-js.js:215)
    System.Diagnostics.Stopwatch.cs
    开发软件-服务器:Apache Tomcat
  • 原文地址:https://www.cnblogs.com/www886/p/4364782.html
Copyright © 2020-2023  润新知