Mysqli的批量CRUD数据

学会了使用了mysqli扩展库以后,整体感受比面向过程的方法更加合理化,面向对象是大势所趋,因此毫不能仅仅只用那一套老的mysql库 了,也不利于phpmysql的操做,由于咱们在实际的开发中,不少仍是面向对象开发的,在这里,就说一下mysqli之因此成为扩展库天然有其理由, 就批量操做的特性就大大的提升了代码的执行效率。php

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

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

<?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就有一点复杂了:linux

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

主要就是后者返回的是一个结果集的集合,须要一层一层的把它剥开看可以看到东西。sql

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

相关文章
相关标签/搜索