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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

PHP源码之 ext/mysql扩展部分

我写过一个外部模块扩展,现在开始看PHP源码中的mysql扩展,它是可以被集成到PHP内部的,所以应该算是内置的扩展了。 该扩展需要用到mysql数据库提供的一些接口,所以需要安装了my...

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

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

编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法

今天在64位Red Hat Enterprise Linux AS release 4 .7上编译PHP5.2.6出错,mysql是使用的RPM方式安装的,PHP编译代码如下: ....

mysql总结之explain

mysql总结之explain

explain主要用于sql语句中的select查询,可以显示的查看该sql语句索引的命中情况,从而更好的利用索引、优化查询效率。     Explain语...

mac下Apache + MySql + PHP搭建网站开发环境

首先为什不自己分别搭建Apache,PHP和MySql的环境呢?这样自己可以了解更多知识,说起来也更酷。可也许因为我懒吧,我是那种“既然有现成的,用就是了”的人。君子生非异也,善假于物也...