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

yipeiwu_com5年前Mysql基础

本文实例讲述了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程序设计有所帮助。

相关文章

libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢

是否一定要这样做呢?很多网上的帖子都是人云亦云,别人说要,他也说要。 其实用的,每次重装系统,都这样拷一遍,折腾一遍,太辛苦了。 用过APMServ这个傻瓜式安装包的朋友可能会发觉,这个...

php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo

复制代码 代码如下: $id = intval($_GET['id']); $row = $db->getResult($db->query("select * from "...

PHP调用MySQL存储过程并返回值的方法

本文实例讲述了php中调用执行mysql存储过程然后返回由存储过程返回的值,分享给大家供大家参考。具体分析如下: 调用存储过程的方法. a。如果存储过程有 IN/INOUT参数,声明一个...

详解PHP安装mysql.so扩展的方法

前言 因为在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错 Fatal error: Uncaugh...

php中mysql连接方式PDO使用详解

PDO常用方法: PDO::query()主要用于有记录结果返回的操作(PDOStatement),特别是select操作。 PDO::exec()主要是针对没有结果集合返回的操作。如...