PHP使用mysqli同时执行多条sql查询语句的实例

PHP数据库操作中,mysqli相对于mysql有很大的优势,建议大家使用;之前我们有介绍过如何在PHP5中使用mysqli的prepare操作数据库,使用mysqli更是支持多查询特性,请看下面这段php代码:

<?php 
$mysqli = new mysqli("localhost","root","","123456");
$mysqli->query("set names 'utf8'");
//多条sql语句
$sql = "select id,name from `user`;";
$sql .= "select id,mail from `user`";
if ($mysqli->multi_query($sql)){//使用multi_query()执行一条或多条sql语句
 do{
 if ($rs = $mysqli->store_result()){//store_result()方法获取第一条sql语句查询结果
  while ($row=$rs->fetch_row()){
  var_dump($row);
  echo "<br>";
  }
  $rs->Close(); //关闭结果集
  if ($mysqli->more_results()){ //判断是否还有更多结果集
  echo "<hr>";
  }
 }
 }while($mysqli->next_result()); //next_result()方法获取下一结果集,返回bool值
}
$mysqli->close(); //关闭数据库连接
?>

通过上面的例子,相信大家都可以很容易地明白了,在使用的时候要特别注意的是multi_query()执行多条语句时,语句之间是用 ; 隔开的,否则会出现错误。

相关推荐