php+mysqli批量查询多张表数据的方法

本文实例讲述了php+mysqli批量查询多张表数据的方法。分享给大家供大家参考。具体实现方法如下:

注意这里使用到了两个新的函数multi_query与store_result,具体代码如下:

代码如下:

<?php

//1、创建数据库连接对象

$mysqli = new MySQLi("localhost","root","123456","liuyan");

if($mysqli->connect_error){

 die($mysqli->connect_error);

}

$mysqli->query("set names 'GBK'");

//2、查询多个数据库表

$sqls = "select * from news limit 10,4;";

$sqls .= "select * from user;";

//3、执行并处理结果

if($res = $mysqli->multi_query($sqls)){

//注意:与$mysqli->query()不同,这里返回的是布尔值

 do{

  $result = $mysqli->store_result();//这里才真正返回结果集的资源对象,失败则返回false;

  while($row = $result->fetch_assoc()){

   foreach($row as $key=>$value){

    echo "--$value--";

   }

   echo "<hr>";

  }

  $result->free();

  if($mysqli->more_results()){//判断是否还存在有结果集

   echo "----------查询下一张表的数据---------------<br>";

  }

 }while($mysqli->next_result());//next_result() 返回 true 或false;

}

//4、关闭数据库连接

$mysqli->close();

?>

希望本文所述对大家的php程序设计有所帮助。

相关推荐