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

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

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

execute_dml($sql);  //$res->free();*/  //这是mysqli批量增删改数据  $mysqli= new MySqli("localhost","root","toor","education");  if($mysqli->connect_error){    die("连接失败:".$mysqli->connect_error);  }  echo "连接成功
";  /*//批量添加数据  $sql_1.="insert into words (enword,chword) values(    'cla***oom444','教室');";  $sql_1.="insert into words (enword,chword) values(     'cla***oom222','教室');";  $sql_1.="insert into words (enword,chword) values(    'cla***oom333','教室');";  $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就有一点复杂了:

connect_error){    die("连接失败:".$mysqli->connect_error);  }  echo "连接成功
";
$sql_3.="select * from words;";  $sql_3.="select * from words_test1;";
if($res=$mysqli->multi_query($sql_3)){  
do{      $result=$mysqli->store_result();      while($row=$result->fetch_row()){        foreach($row as $key=>$val){          echo "----".$val;        }        echo "
";      }      $result->free();      if(!$mysqli->more_results()){        break;      }      echo "***********************************************";    }while($mysqli->next_result());  }  $mysqli->close();?>

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

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

  • 本文来自: